MVC html.DropdownFor:绑定列表和选择
MVC html.DropdownFor: binding the list and the selection
我正在使用模型状态检查。因此,当出现错误时,我想 return 用户填写的是相同的模型。但是我的表格有 html.DropDownListFor
.
@Html.DropDownListFor(x => x.Item.SelectedId, Model.ItemList)
下拉列表将错误提示我的 select 列表 (Model.ItemList
) 为空。这是因为 dropDownListFor
正确绑定了 selected 值,但现在在我的 post 操作中该列表为空。有没有默认的方法来解决这个问题。随着列表本身的绑定和 selected 值。
我知道我可以做一个 html.HiddenFor
并用类似的东西绑定整个列表:
<input name="name[0].Id" type="text" />
<input name="name[1].Id" type="text" />
<input name="name[2].Id" type="text" />
或者我什至可以编写自己的扩展来为我做这件事。
现在在 post 操作中,我只是重新填充 select 列表,但我很好奇是否还有另一种方法,因为我的搜索没有找到任何结果。
似乎没有任何有助于模型状态和 select 列表的内置功能。
因为这个 link 也指的是那个。
http://benfoster.io/blog/automatic-modelstate-validation-in-aspnet-mvc
我正在使用模型状态检查。因此,当出现错误时,我想 return 用户填写的是相同的模型。但是我的表格有 html.DropDownListFor
.
@Html.DropDownListFor(x => x.Item.SelectedId, Model.ItemList)
下拉列表将错误提示我的 select 列表 (Model.ItemList
) 为空。这是因为 dropDownListFor
正确绑定了 selected 值,但现在在我的 post 操作中该列表为空。有没有默认的方法来解决这个问题。随着列表本身的绑定和 selected 值。
我知道我可以做一个 html.HiddenFor
并用类似的东西绑定整个列表:
<input name="name[0].Id" type="text" />
<input name="name[1].Id" type="text" />
<input name="name[2].Id" type="text" />
或者我什至可以编写自己的扩展来为我做这件事。
现在在 post 操作中,我只是重新填充 select 列表,但我很好奇是否还有另一种方法,因为我的搜索没有找到任何结果。
似乎没有任何有助于模型状态和 select 列表的内置功能。
因为这个 link 也指的是那个。 http://benfoster.io/blog/automatic-modelstate-validation-in-aspnet-mvc