作者:未来不是梦2602932127 | 来源:互联网 | 2023-08-31 19:52
@Html.CheckBoxFor(mm.Bool)使用CheckBoxFor方法得到的html代码会是下面这个样子在生成一个复选框的同时会同时得到一个type为hidden
@Html.CheckBoxFor(m => m.Bool)
使用CheckBoxFor方法得到的html代码会是下面这个样子
在生成一个复选框的同时会同时得到一个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
ASP.NET MVC CheckBoxFor为什么会生成hidden input控件,布布扣,bubuko.com