asp.net-mvc – Html.CheckBox返回false如果禁用,即使seleced

前端之家收集整理的这篇文章主要介绍了asp.net-mvc – Html.CheckBox返回false如果禁用,即使seleced前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
希望一个容易的问题为你asp.net mvc gurus:

我有一个复选框,创建如下:

<%=Html.CheckBox("MyCheckBox",true,new { disabled = "disabled"})%>

在我的行动,我检查的值如下:

bool isChecked = form["MyCheckBox"].Contains("true");

我期望这返回true,因为它被检查。但是,创建的隐藏元素具有false值:

<input checked="checked" disabled="disabled" id="MyCheckBox" name="MyCheckBox" type="checkBox" value="true" />
<input name="MyCheckBox" type="hidden" value="false" />

首先,有没有办法使HtmlHelper的行为像我预期的应该的?还是手动构建输入/创建自己的帮助方法的唯一方法? (不是这是一个大事…)

第二,任何人都可以了解为什么复选框的行为这样?我在假设一个禁用复选框不正确,打勾应该== true?禁用状态语义上是否意味着错误

解决方法

标记为disabled =“disabled”属性的输入字段NEVER将其值发送到服务器。如果你想实现这个,你可以使用readonly =“readonly”属性,这仍然阻止用户修改值,但发送表单提交时的现有值。

猜你在找的asp.Net相关文章