自己開發的公眾號,可以領取淘寶內部優惠券
@Html.CheckBoxFor(m => m.Bool)
使用CheckBoxFor方法得到的html代碼會是下面這個樣子
<input checked="checked" data-val="true" data-val-required="Bool 字段是必需的。" id="Bool" name="Bool" type="checkbox" value="true"> <input name="Bool" type="hidden" value="false">
在生成一個復選框的同時會同時得到一個type為hidden的input控件,復選框的value為true,hidden的value則為false,兩個控件擁有相同的name屬性。
為什么會有兩個name值相同的input呢,如果我們選中該復選框不是把true和false都傳遞給服務端了。
1.未選中checkbox
未選中復選框比較好理解傳遞的就是hidden控件的value值,此時服務端得到的是false。如果沒有hidden,服務端會得到null。
2.選中checkbox
選中的時候服務得到的值就是"true,false",此時會使用true值而忽略掉false