@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”}
为什么我不能得到数字列表?