預選電流值必須使用Razor視圖引擎一個MVC 4項目,並發現了一些奇怪的事情:
我的代碼視圖中的以下行:Html.DropDownListFor不循環
@Html.DropDownListFor(model => model.TypA.Enum, Html.GetEnumList())
這工作得很好(Html.GetEnumList()
返回List<SelectListItem>
包含有效的項目),但現在我有我的顯示一個TypeA
列表/編輯在for
循環:
@for(int i = 0; i < Model.ListOfA.Count; ++i)
{
@Html.DropDownListFor(model => model.ListOfA[i].Enum, Html.GetEnumList())
}
在這種情況下,如果我編輯現有的項目,當前值不會在下拉菜單中選擇,如第一種情況。如果手動更改值並將其發回服務器,則會在列表中的每個對象中設置正確的值。
有誰知道爲什麼預選在這裏不起作用嗎?
現在我做了一個解決方法通過提供電流值的GetEnumList(model.ListOfA[i].Enum)
,然後Selected
屬性設置爲true
在根據SelectListItem
,但我覺得,因爲它工作在第一種情況下不應該是必要的...
你可以請包括生成SelectListItem列表的代碼嗎?另外,你看到的行爲是什麼?所有選定的值是否與第一個選定的選項相匹配 –
您是否設置了斷點並確認ListOfA數組設置正確? –
你的列表中有默認選項嗎? –