【发布时间】:2012-01-21 23:14:25
【问题描述】:
@Html.CheckBox("orderNumbers", new { value = 1 })
@Html.CheckBox("orderNumbers", new { value = 2 })
@Html.CheckBox("orderNumbers", new { value = 3 })
@Html.CheckBox("orderNumbers", new { value = 4 })
@Html.CheckBox("orderNumbers", new { value = 5 })
[HttpPost]
public ActionResult MarkAsCompleted(IEnumerable<int> orderNumbers) { }
[HttpPost]
public ActionResult MarkAsCompleted(IEnumerable<string> orderNumbers) { }
如果我在我的操作方法中使用第一个签名,我会得到一个空的IEnumerable。
如果我使用第二个签名,我确实收到了值,但我也收到了未选中值的错误值(因为 MVC 模式使用隐藏字段隐藏所有复选框)。
例如我会收到类似orderNumbers = { "1", "2", "false", "4", "false" }
为什么我不能只得到数字列表?
【问题讨论】:
标签: asp.net-mvc-3 int ienumerable checkbox model-binding