我對DropDownListFor幫助器的問題感到困惑。下拉列表不填充從列表MVC
我想值列表分配給下拉如下:
型號
public Int32 TestID {get;set;}
public List<Int32> ListOfID {get;set;}
public IEnumerable<SelectListItem> TimeDD {get;set;}
控制器
public ActionResult Manage(int id){
MyModel model = new MyModel();
model.TimeDD = DropDownManager.TimeDD;
model.TestID = 12;
model.ListOfID = new List<Int32>{ 1,2,3,4,5,6,7};
return View(model);
}
在我有以下看法:
@for(int i = 0; i< ListoFID.Count; i++){
<div>@Html.DropDownListFor(m=> m.TestID, Model.TimeDD)</div>
<div>@Html.DropDownListFor(m=> m.ListoFID[i], Model.TimeDD)</div>
}
我遇到的問題是TestID下拉正常,但是ListoFID [i]沒有從下拉列表中選擇值。該TimeDD是一個時間列表如下:
/// <summary>
/// The Time dropdown
/// </summary>
/// <param name="userID"></param>
/// <returns></returns>
public static IEnumerable<SelectListItem> TimeDD()
{
// new ctl
TimeControl ctl = new TimeControl();
// get drop down
IEnumerable<SelectListItem> result = ctl.Select().Select(m => new SelectListItem { Text = m.Time1, Value = m.TimeID.ToString() }).ToList();
// clean up
ctl.Dispose();
return result;
}
如果時間1是'09:30' 和TIMEID爲1 - 48.我想不通這是怎麼發生的事情!只要我引用一個對象,它就無法在正確的位置選擇下拉菜單。
編輯 我也有我的模型稱爲OpeningTimes一個屬性 - 這是打開保存對公司倍以下列表:
ComapnyID DayID StartTime EndTime
1 1 19 32 -- e.g. Monday 09:00 - 17:30
當我遍歷開放時間:
@for(int i=0; i< Model.OpeningTimes.Count; i++)
{
<tr>
<td>
@Html.DropDownListFor(m => m.OpeningTimes[i].StartTime, Model.TimeDD)
</td>
<td>
@Html.DropDownListFor(m => m.OpeningTimes[i].EndTime, Model.TimeDD)
</td>
</tr>
}
下拉菜單仍未被選中。我可以確認StartTime和EndTime確實有值並且屬性爲int
當你遍歷開放時間....什麼? –
@RoyDictus請參閱編輯 – CR41G14
我的答案依然存在。你正試圖映射一些不是模型的直接屬性的東西,對於'DropDownListFor',它不起作用。 –