【发布时间】:2016-10-13 14:55:14
【问题描述】:
我正在使用模型状态检查。因此,当出现错误时,我想向用户返回已填写的相同模型。然而,我的表单有html.DropDownListFor。
@Html.DropDownListFor(x => x.Item.SelectedId, Model.ItemList)
下拉列表会出错,提示我的选择列表 (Model.ItemList) 为空。这是因为dropDownListFor 正确绑定了所选值,但现在我的发布操作中的列表为空。有没有解决这个问题的默认方法。随着列表本身的绑定和选定的值。
我知道我可以做一个html.HiddenFor 并将整个列表与类似的东西绑定:
<input name="name[0].Id" type="text" />
<input name="name[1].Id" type="text" />
<input name="name[2].Id" type="text" />
或者我什至可以编写自己的扩展程序来为我做这件事。
现在在发布操作时,我只是重新填充选择列表,但我很好奇是否还有另一种方法,因为我的搜索没有找到任何结果。
【问题讨论】:
-
没有。这才是正确的方法。您需要重新填充列表,因为 http 是无状态的
标签: c# asp.net-mvc model-binding modelstate