【问题标题】:How to have ASP.Net MVC 3.0 Checkboxfor as checked by default?如何让 ASP.Net MVC 3.0 Checkboxfor 默认选中?
【发布时间】:2011-10-19 20:06:57
【问题描述】:

我希望 mt view 默认选中复选框, 我尝试过这样的事情。

@Html.CheckBoxFor(model=>model.GenericsOK, new { id = ViewBag.GenericsOK, @checked = true })

还有

@Html.CheckBoxFor(model=>model.GenericsOK, new { id = ViewBag.GenericsOK, @checked = "checked"})

在这两种情况下,它都会给出以下错误。 字符串未被识别为有效的布尔值。

我的属性是这样定义的。

private bool _deafaultchecked = true;

    [Display(Name = "Generics Ok")]
    public bool GenericsOK
    {
        get { return _deafaultchecked; }
        set { _deafaultchecked = value; }
    }

有什么建议吗?



因为我找不到解决方案或这个。 我是这样完成的。
 @Html.CheckBox("GenericsOK", true, new {id=ViewBag.GenericsOK, name="GenericsOK" })

这符合我的要求。 感谢所有帮助过我的人。

【问题讨论】:

    标签: asp.net-mvc-3 checkboxfor


    【解决方案1】:

    在你的控制器的 Create 方法中(我想),你试过了吗?

    public ActionResult Create()
    {
        return View(new YourModelClass { GenericsOk = true });
    }
    

    【讨论】:

      【解决方案2】:

      在您创建模型的控制器操作中,只需将该字段值设置为 true。

      例如

      return View(new DriverCsvModel{SendEmails = true});
      

      您应该使用模型的状态,而不是强制 UI 进入检查状态。

      【讨论】:

        【解决方案3】:

        您需要删除 HTML 属性的 @checked="checked" 部分。如果 viewmodel 属性是一个布尔值,那么当你使用 CheckBoxFor 时就没有必要了

        【讨论】:

          【解决方案4】:

          在模型类的默认构造函数中,您可以将“GenericsOK”属性设置为“True”

          【讨论】:

          • 贾斯汀,我已经做到了,请查看我的问题中的编辑。如果我遗漏任何东西,请纠正我。谢谢
          猜你喜欢
          • 2013-01-31
          • 1970-01-01
          • 2011-02-05
          • 1970-01-01
          • 2021-09-18
          • 1970-01-01
          • 1970-01-01
          • 2010-10-19
          • 2010-11-01
          相关资源
          最近更新 更多