Надеюсь, это простой вопрос для вас, гуру asp.net mvc:
У меня есть флажок, создан вот так:
<%=Html.CheckBox("MyCheckBox", true, new { disabled = "disabled"})%>
В своем действии я проверяю значение так:
bool isChecked = form["MyCheckBox"].Contains("true");
Я ожидаю, что это вернет истину, поскольку оно проверено. Однако создаваемый скрытый элемент имеет ложное значение:
<input checked="checked" disabled="disabled" id="MyCheckBox" name="MyCheckBox" type="checkbox" value="true" />
<input name="MyCheckBox" type="hidden" value="false" />
Во-первых, есть ли способ заставить HtmlHelper вести себя так, как я ожидал? Или это единственный способ вручную создать ввод / создать собственный вспомогательный метод? (не то чтобы это было большим делом ...)
Во-вторых, может ли кто-нибудь пролить свет на то, почему флажки ведут себя именно так? Я ошибаюсь, предполагая, что отключенный флажок, который отмечен, должен == true? Означает ли отключенное состояние семантически ложь?