加入收藏 | 设为首页 | 会员中心 | 我要投稿 安卓应用网 (https://www.0791zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

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

发布时间:2020-05-28 18:22:50 所属栏目:asp.Net 来源:互联网
导读:希望一个容易的问题为你asp.net mvc gurus: 我有一个复选框,创建如下: %=Html.CheckBox(MyCheckBox, true, new { disabled = disabled})% 在我的行动,我检查的值如下: bool isChecked = form[MyCheckBox].Contains(true); 我期望这返回true,因为它被检

希望一个容易的问题为你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”属性,这仍然阻止用户修改值,但发送表单提交时的现有值。

(编辑:安卓应用网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读