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

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

发布时间:2020-12-15 18:49:40 所属栏目: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”属性,这仍然阻止用户修改值,但发送表单提交时的现有值。

(编辑:李大同)

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

    推荐文章
      热点阅读