基本上我有一個字符串集合,我想將它們呈現爲頁面上的複選框。要做到這一點,我寫了這個代碼:當第一個複選框未選中時,在MVC中提交複選框集合會生成null
@for (var i=0; i< Model.AvailableCats.Length; i++)
{
<input type="checkbox" name="Cats[@i]" value="@Model.Cats[i]" @(Model.Cats.Contains(Model.AvailableCats[i]) ? "checked=checked" : "") /> @Model.AvailableCats[i]
}
由此產生的複選框像
<input type="checkbox" checked="checked" value="Bengal" name="Cats[0]">
<input type="checkbox" checked="checked" value="Moggy" name="Cats[1]">
當提交該工程確定,如果兩者都檢查,或者如果第一個被選中,但如果只有第二項目被選中,它只提交Cats [1],MVC不會將其映射到數組中。
我確定答案很簡單,但我如何提交我的複選框值集合?
這很聰明,我以爲你必須使用javascript欺騙,但這是非常優雅的。幸運的是,在我的情況下,價值是否未被提交併不重要,但在很重要的情況下可以使用。 – NibblyPig