You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

ASP.NET MVC中如何给复选框应用Bootstrap Switch样式并绑定模型字段

解决方案

首先替换原有表单区域代码为如下内容:

<div class="form-group">
    @Html.LabelFor(model => model.Add_GeneralRequest, htmlAttributes: new { @class = "control-label col-md-2" })
    <div class="col-md-10">
        @Html.CheckBoxFor(model => model.Add_GeneralRequest, new { 
            data_bootstrap_switch = "true",
            data_on_color = "success",
            data_off_color = "danger"
        })
        @Html.ValidationMessageFor(model => model.Add_GeneralRequest, "", new { @class = "text-danger" })
    </div>
</div>

注:Razor语法中写HTML的data属性时需要用下划线_代替横杠-,页面渲染时会自动转换为符合要求的data-bootstrap-switch格式。

接下来在页面底部(jQuery、bootstrap-switch的JS资源引入之后的位置)添加初始化脚本:

$(function(){
    // 初始化所有匹配的复选框为开关样式
    $('[data-bootstrap-switch]').bootstrapSwitch();
})

绑定逻辑说明

  • 开关组件是对原生复选框的封装,切换开关状态时会自动同步更新底层Add_GeneralRequest复选框的checked属性,表单提交时ASP.NET MVC会自动将该值绑定到模型的bool类型Add_GeneralRequest字段,无需额外编写同步逻辑。
  • 如需设置为必填项,直接在模型类的Add_GeneralRequest属性上添加[Required]特性即可,原有ValidationMessageFor的验证逻辑可以正常生效。

常见不生效排查点

  • 确认资源加载顺序:先加载jQuery,再加载bootstrap-switch的CSS和JS文件,最后执行初始化脚本
  • 检查浏览器控制台是否存在JS报错,确认所有资源的引用路径正确

内容的提问来源于stack exchange,提问作者user1983377

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.27 22:24:01