我在视图中有以下代码。(index.cshtml)
绑定问题
- 第一个下拉菜单根据“ChildItem”编辑器模板选择正确的值。
- 使用内联下拉列表的第二个示例不起作用我不想创建编辑器模板只是为了显示下拉值。
- 奇怪的是 TextBoxFor 将显示正确的值。这似乎只是下拉列表的问题。
如何修复绑定以便第二个下拉菜单起作用?我调试了它。看起来 ViewData.Eval 没有从_.Children[i].ChooseId
.
更新(bug)
这是MVC框架http://aspnet.codeplex.com/workitem/8311中确认的bug(低优先级,如何?)
@using (Html.BeginForm())
{
for (int i = 0; i < Model.Children.Count(); i++)
{
<p>A: @Html.EditorFor(_ => _.Children[i], "ChildItem")</p>
<p>B: @Html.DropDownListFor(_ => _.Children[i].ChooseId, TestModel.PeopleSelect)</p>
}
<button type="submit">GO</button>
}
我试过使用DropDownListFor(_ => Model.Children[i].ChooseId)
,同样的结果。
usingTextBoxFor(_ => _.Children[i].ChooseId)
显示正确的值,奇怪吗?
这里供参考ChildItem.cshtml
@using dropdown.Controllers
@using dropdown.Models
@model dropdown.Models.TestPerson
@Html.DropDownListFor(_ => _.ChooseId, TestModel.PeopleSelect)
它看起来像这样: