asp.net-mvc-3 – 将复选框绑定到MVC中的int数组/枚举

前端之家收集整理的这篇文章主要介绍了asp.net-mvc-3 – 将复选框绑定到MVC中的int数组/枚举前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
@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”}

为什么我不能得到数字列表?

解决方法

因为这是提供的CheckBoxFor帮助器如何工作。

你必须自己生成复选框的html。然后隐藏的输入不会生成,您将只获取所选的整数值。

猜你在找的asp.Net相关文章