Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net mvc Html.checkboxforposting false value to controller_Asp.net Mvc_Asp.net Mvc 4 - Fatal编程技术网

Asp.net mvc Html.checkboxforposting false value to controller

Asp.net mvc Html.checkboxforposting false value to controller,asp.net-mvc,asp.net-mvc-4,Asp.net Mvc,Asp.net Mvc 4,上面的html助手方法生成以下html代码 @Html.CheckBoxFor(m => m.Close, new { disabled = "disabled" }) 当我提交表格时,它只会发回false。。。你知道这是什么吗?我在fiddler中检查了post back值 禁用的控件不会回发。由于@Html.CheckBoxFor()生成复选框和带有默认值(false)的隐藏输入,因此只回发隐藏输入,并且Close的值为false。这是在控制器中检查false或notfalse

上面的html助手方法生成以下html代码

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


当我提交表格时,它只会发回false。。。你知道这是什么吗?我在fiddler中检查了post back值

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

这是在控制器中检查false或notfalse的方法:

   <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">   

啊,谢谢,你知道让只读/禁用复选框提交回控制器的方法吗?由于它不可编辑,请使用
@Html.hiddenFor(m=>m.Close)
这样它会发回,如果你还想要属性的视觉指示,请添加
@DisplayFor(m=>m.Close)
@DisplayFor(m=>m.Close)完成这项工作
var isChecked = Request.Form["Modelname"];