我使用的是ASP.NET MVC 2.0,但显然这也是MVC 3.0中的一个问题。MVC2 - DropDownListFor复杂属性 - 没有选择的项目
基本上如果你有一个“复杂”属性名称,那么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>
我看到this QA where the answerer correctly explained the problem,但是他使用SelectList
作为参数DropDownListFor
的解决方案并不在我的情况下工作 - 我得到完全相同的结果(负载<option>
元素但不是单个selected="selected"
属性)。
我很想重新实现DropDownListFor
,但如果有人知道解决方法,我很乐意听到它!