【发布时间】:2011-06-10 17:47:03
【问题描述】:
希望对你来说一个简单的问题 asp.net mvc 大师:
我有一个复选框,像这样创建的:
<%=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 是不正确的吗?禁用状态在语义上是否意味着错误?
【问题讨论】:
标签: asp.net-mvc checkbox html-helper