【问题标题】:MVC html.DropdownFor: binding the list and the selectionMVC html.DropdownFor:绑定列表和选择
【发布时间】: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


【解决方案1】:

似乎没有任何内置功能可以帮助处理模型状态和选择列表。

因为这个链接也提到了这一点。 http://benfoster.io/blog/automatic-modelstate-validation-in-aspnet-mvc

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-12-10
    • 2011-07-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多