2

我希望 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" })

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

4

4 回答 4

1

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

public ActionResult Create()
{
    return View(new YourModelClass { GenericsOk = true });
}
于 2012-06-13T10:35:05.943 回答
1

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

例如

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

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

于 2013-06-03T15:28:41.060 回答
0

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

于 2011-10-19T20:09:15.027 回答
0

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

于 2011-10-19T20:26:37.157 回答