Html.checkbox用于向控制器发送false值

时间:2014-10-09 04:08:49

标签: asp.net-mvc asp.net-mvc-4

@Html.CheckBoxFor(m => m.Close, new { disabled = "disabled" }) 

上面的html帮助器方法生成以下html代码。

   <input checked="checked" data-val="true" data-val-required="The Close field is required." disabled="disabled" id="Close" name="Close" type="checkbox" value="true">

<input name="Close" type="hidden" value="false">   

当我提交表单时,它只会回复错误......这可能是什么意思?我在fiddler中检查了帖子后面的值。

2 个答案:

答案 0 :(得分:2)

已禁用的控件不会回发。由于@Html.CheckBoxFor()生成复选框和带有默认值(false)的隐藏输入,因此仅回发隐藏的输入,并且Close的值为false。

答案 1 :(得分:0)

这是您在Controller中检查false或false的方法:

var isChecked = Request.Form["Modelname"];