首页 > 解决方案 > 带有可点击标签的 Html.CheckboxFor 不起作用

问题描述

我正在尝试实现一个带有Html.CheckboxFor语法的可点击标签的复选框。但是,我遇到了一个问题,即我的复选框不允许我单击它来切换其状态,并且在加载页面时没有正确设置即使选中的属性是正确的。

从我一直在阅读的内容来看,这似乎与生成的额外隐藏输入字段有关,以将错误值传递回表单提交上的控制器。但是,我仍然需要想办法解决这个问题,我觉得我不是第一个寻找解决方案的人。

这是我的 HTML:

<div class="form-check">
    @Html.CheckBoxFor(x => x.ProfilePublicViewable, new { @class = "form-check-input", @id = "val1", @value = "val1", @checked = "checked" })
    <label class="form-check-label" for="val1">Profile Public Viewable</label>
</div>

以下是渲染到 DOM 的内容:

<div class="form-check">
    <input checked="checked" class="form-check-input" id="val1" name="val1" type="checkbox" value="val1">
    <input name="ProfilePublicViewable" type="hidden" value="false">
    <label class="form-check-label" for="val1">Profile Public Viewable</label>
</div>

我一直在寻找有关如何实现此设计的示例,但似乎空手而归。有人对我哪里出错有任何想法吗?

标签: htmlasp.net-mvcasp.net-mvc-5

解决方案


推荐阅读