【发布时间】:2017-08-15 11:03:52
【问题描述】:
是否有将@HTML.Checkboxfor 转换为切换html 按钮的方法? 我参考了https://www.w3schools.com/howto/howto_css_switch.asp的切换按钮样式@
目前它正在使用:
@Html.CheckBoxFor(model => model.IsEnabled, new { @checked = "checked", @Name = "DelegateChkBox" })
改为:
<td class="slider-td">
<label class="switch">
<input name="DelegateChkBox" id="IsEnabled" type="checkbox" value="true" data-val-required="The IsEnabled field is required." data-val="true" data-bind="checked: IsEnabled">
<div class="slider round"></div>
</label>
</td>
否则默认情况下它不会回发到控制器 UNCHECKED :
任何帮助将不胜感激! 谢谢!
【问题讨论】:
-
可能不相关,但您有一个名为
IsEnabled的属性,但随后您将name属性更改为DelegateChkBox,这将永远不会绑定到您的模型(您永远不应该更改name属性)。而且您永远不会设置checked属性 - 这是由基于IsEnabled值的CheckBoxFor()方法正确完成的。 -
并且未选中的复选框不会提交值,这就是
CheckBoxFor()方法生成 2 个输入的原因 -<input type="checkbox" .. value="true" />和<input type="hidden" value="false" /> -
你可以使用
@Html.CheckBox()而不是手动创建你的html - 你只需要修改css选择器 -
试试Switchery插件
标签: html asp.net-mvc css asp.net-mvc-4 html-helper