@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
。將複選框綁定到int數組/ MVC中的枚舉
如果我用的是第二個簽名我確實收到了值,但我也收到未選定值的假值(因爲陰影的所有複選框以隱藏字段的MVCS模式)。
例如我會收到類似orderNumbers = { "1", "2", "false", "4", "false" }
爲什麼我就不能得到號碼列表?
事實上,我當然有。真是個傻瓜!我錯誤地認爲,如果它們不能綁定到請求的類型,他們會在模型聯編程序中做一些巧妙的事情來忽略錯誤值。 – fearofawhackplanet 2011-12-16 12:24:53