Asp.net mvc 3 如何使ASP.NETMVC30.0Checkboxfor在默认情况下处于选中状态?

Asp.net mvc 3 如何使ASP.NETMVC30.0Checkboxfor在默认情况下处于选中状态?,asp.net-mvc-3,checkboxfor,Asp.net Mvc 3,Checkboxfor,我希望mt视图在默认情况下选中该复选框, 我试过这样的东西 @Html.CheckBoxFor(model=>model.GenericsOK, new { id = ViewBag.GenericsOK, @checked = true }) @Html.CheckBox("GenericsOK", true, new {id=ViewBag.GenericsOK, name="GenericsOK" }) 而且 @Html.CheckBoxFor(model=>model.

我希望mt视图在默认情况下选中该复选框, 我试过这样的东西

@Html.CheckBoxFor(model=>model.GenericsOK, new { id = ViewBag.GenericsOK, @checked = true })
 @Html.CheckBox("GenericsOK", true, new {id=ViewBag.GenericsOK, name="GenericsOK" })
而且

@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.CheckBoxFor(model=>model.GenericsOK, new { id = ViewBag.GenericsOK, @checked = true })
 @Html.CheckBox("GenericsOK", true, new {id=ViewBag.GenericsOK, name="GenericsOK" })
这符合我的要求。
感谢所有帮助我的人。

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

您需要删除HTML属性的@checked=“checked”部分。如果viewmodel属性是布尔值,那么在控制器的创建方法中使用CheckBoxFor

时就没有必要了(我猜),您尝试过这个吗

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

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

比如说

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

您应该使用模型的状态,而不是强制用户界面进入选中状态。

Justin,我已经这样做了,请查看我问题中的编辑。如果我遗漏了什么,请纠正我。谢谢