【问题标题】:Replace Html.EditorFor for Bootstrap Toggle将 Html.EditorFor 替换为 Bootstrap Toggle
【发布时间】:2015-04-20 14:28:46
【问题描述】:

目前我正在使用 Html.EditorForbool? 字段,想知道是否可以用 Bootstrap Toggle 替换它。

我尝试了以下方法:

ViewBag.News = Convert.ToBoolean(model.News) ? "Yes" : "No";

@Html.HiddenFor(model => model.News)
<input name="news" type="checkbox" value="@ViewBag.News" data-toggle="toggle" data-off="No" data-on="Yes" data-onstyle="success" />

似乎value 字段被忽略了,查看http://www.bootstraptoggle.com/ 上的示例,值的使用无处可见,这很奇怪,因为它最初是一个复选框。

任何关于如何将模型数据绑定到 Bootstrap Data-Toggle 组件的想法将不胜感激:-)

【问题讨论】:

    标签: javascript asp.net asp.net-mvc html twitter-bootstrap


    【解决方案1】:

    对于 MVC 5,这似乎可行:

    @Html.EditorFor(model => model.IsPayed, 
    new { htmlAttributes = 
    new { data_toggle = "toggle", data_on = "Payed", data_off = "Not payed", data_onstyle = "success", data_offstyle = "danger", type = "checkbox" } })
    

    在 htmlAttributes 中使用 _ 而不是 - 并且它们通过并被转换为 -。 (IsPayed 是模型中的布尔值)

    【讨论】:

      【解决方案2】:

      假设 1 代表一个选中的字段,下面应该可以工作:

      <input name="news" type="checkbox" @(ViewBag.News == "Yes" ? "checked" : "")
                   data-toggle="toggle" data-off="No" data-on="Yes" data-onstyle="success"/>
      

      【讨论】:

      • 感谢您进行了一些小调整 `
      猜你喜欢
      • 1970-01-01
      • 2013-09-26
      • 1970-01-01
      • 2018-11-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-12-16
      • 2016-10-25
      相关资源
      最近更新 更多