默认情况下如何设置CheckBox在ASP.Net MVC中检查

Avi*_*ngh 46 asp.net-mvc-3

我在ASP.Net MVC项目中使用CheckBox,

我想默认设置checkBox,

我的CheckBox是

@Html.CheckBoxFor(model => model.As, new { @checked = "checked" })
Run Code Online (Sandbox Code Playgroud)

但它不工作,,,,

Dar*_*rov 74

在渲染视图的控制器操作中,您可以将As模型的属性设置为true:

model.As = true;
return View(model);
Run Code Online (Sandbox Code Playgroud)

在您看来简单地说:

@Html.CheckBoxFor(model => model.As);
Run Code Online (Sandbox Code Playgroud)

现在,由于模型的As属性设置为true,CheckBoxFor帮助器将生成一个选中的复选框.

  • 实现这一目标的正确方法是在控制器中设置值.这就是CheckBoxFor帮助程序的设计方式.如果您不想遵循最佳实践,则可以始终使用硬编码的`checked ="checked"属性手动生成视图中的复选框. (5认同)

ton*_*njo 40

老问题,但另一个"纯剃刀"答案是:

@Html.CheckBoxFor(model => model.As, htmlAttributes: new { @checked = true} )
Run Code Online (Sandbox Code Playgroud)

  • 如果模型值为“false”(复选框未选中),则这不起作用,如果模型值为“true”,则不需要,那么此代码的重点是什么? (2认同)
  • 当它为空时呢?(`布尔?`) (2认同)
  • 它对于创建新视图确实很有用。如果您想要创建或添加新数据,有时您需要默认值。例如“婚姻状况”字段 - 也许您想将“是”或“已检查”设置为表单上的默认值。 (2认同)