因此,我从一家数字机构获得了需要转换为 MVC 的 html。我知道 Html.CheckboxFor(..) 创建了一个额外的隐藏输入字段,以将复选框的非选择捕获为 false。
但是在我的页面上我无法选择我的复选框。如果我在 Firebug 中删除<input type="hidden....>
,我可以选中该复选框。(如我无法单击复选框并使其在视觉上被选中)
生成的html是:
(提供给我的html)
<div class="terms well">
<div class="checkbox">
<label class="checkbox-inline">
<input type="checkbox" id="authorize" name="authorize">
<span class="checkbox-display"><span class="checkbox-display-inner fa fa-check"></span></span>
<span class="checkbox-label">I accept full responsibility for the information I provide on this form.</span>
</label>
</div>
</div>
(由 html 助手生成的 html - 我没有费心尝试使用标签,因为我不确定样式是否仍然有效)。
<div class="terms well">
<div class="checkbox">
<label class="checkbox-inline">
<input type="checkbox" value="true" name="AuthorisePayment" id="AuthorisePayment"><input type="hidden" value="false" name="AuthorisePayment">
<span class="checkbox-display"><span class="checkbox-display-inner fa fa-check"></span></span>
<span class="checkbox-label terms-credit" style="display: inline-block;">I accept full responsibility for information and authorisations I provide on this form.</span>
</label>
</div>
</div>
有人有什么想法吗?我不是 100% 在这篇文章中包含什么来帮助找到答案。
剃刀视图包含:
<div class="terms well">
<div class="checkbox">
<label class="checkbox-inline">
@Html.CheckBoxFor(model => model.AuthorisePayment)
<span class="checkbox-display"><span class="checkbox-display-inner fa fa-check"></span></span>
<span class="checkbox-label terms-credit">@Editable(x => x.PaymentTemplate.CreditCardTerms)</span>
</label>
</div>
</div>
我可以从我的动作控制器中的表单中获取值,但我不明白为什么这样做的模型绑定方式不起作用。