我只是注意到Html.CheckBox("foo")产生2个输入而不是1个输入,任何人都知道为什么会这样?
<input id="foo" name="foo" type="checkbox" value="true" />
<input name="foo" type="hidden" value="false" />
Run Code Online (Sandbox Code Playgroud) 我正在尝试为我添加"名称"属性CheckBoxFor,但无法让它工作.
@Html.CheckBoxFor(
model => model.ProvidePracticalSuggestions,
new { @name = "help_practicalSuggestions"
})
Run Code Online (Sandbox Code Playgroud)
知道我在这里做错了什么吗?
呈现的HTML:
<div>
<input data-val="true" data-val-required="The Provide practical suggestions for implementing change, e.g. step-by-step best practices field is required." id="ProvidePracticalSuggestions" name="ProvidePracticalSuggestions" type="checkbox" value="true" /><input name="ProvidePracticalSuggestions" type="hidden" value="false" />
<span class="field-validation-valid" data-valmsg-for="ProvidePracticalSuggestions" data-valmsg-replace="true"></span>
<label for="ProvidePracticalSuggestions">Provide practical suggestions for implementing change, e.g. step-by-step best practices</label>
</div>
Run Code Online (Sandbox Code Playgroud) 我正在将WebAPI合并到我的开发中,并将所有表单提交发布到WebAPI控制器.我注意到复选框没有正确绑定到模型.我有一个表格使用:
@Html.CheckBoxFor(m => m.HasVideo)
Run Code Online (Sandbox Code Playgroud)
它会生成一个复选框和一个隐藏的表单元素.当我选中复选框(表示"true"值)时,我的WebAPI Post中的模型绑定反映了HasVideo属性的false.我将整个方法移动到传统的mvc控制器,绑定按预期工作.
有没有针对此的解决方法,或者是否有一些我缺少的东西?