mvc中:
Html:<input name="IsTry" type="checkbox" />
control form方式取值时:
search.IsTry = (Request["IsTry"]??"").Contains("on");
ok。
但是如果前台写成:<%=Html.CheckBox("IsTry") %>
control中如果还是Request["IsTry"] 取值时:
是因为Html.CheckBox方法生成的html代码里面不仅有一个input type=checkbox,还有一个input type=hidden 所以是两个值。
如果checkbox被选中,则服务器收到的true,false。
checkbox未选中,因为有hidden的input存在所以服务器则收到flase。
所以这时取值方式:
search.IsTry = Request["IsTry"].Contains("true");