ASP.NET MVC 2.0 を使用していますが、MVC 3.0 でも問題があったようです。
基本的に、「複雑な」プロパティ名がある場合、Html.DropDownListForは設定しませんSelectListItem.Selected = true。
したがって、これは機能します(どこにViewData.StatesありますIEnumerable<SelectListItem>)。
<td><%= Html.DropDownListFor( m => m.State, ViewData.States ) %></td>
しかし、これはしません:
<td><%= Html.DropDownListFor( m => m.CaseFields[i].State, ViewData.States ) %></td>
回答者が問題を正しく説明したこのQAを見ましたが、私の場合SelectList、引数として使用する彼の解決策はDropDownListFor機能しません-まったく同じ結果が得られます(<option>要素のロードですが、単一のselected="selected"属性ではありません)。
私は を再実装DropDownListForしたいと思っていますが、回避策を知っている人がいたらぜひ教えてください!