Razor View Engine を使用する MVC 4 プロジェクトがあり、奇妙なことがわかりました。ビュー
に次のコード行があります。
@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