50

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

我想设置复选框默认选中,

我的复选框是

@Html.CheckBoxFor(model => model.As, new { @checked = "checked" })

但它不起作用,,,,

4

7 回答 7

80

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

model.As = true;
return View(model);

在您看来,简单地说:

@Html.CheckBoxFor(model => model.As);

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

于 2013-05-08T07:57:53.123 回答
49

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

@Html.CheckBoxFor(model => model.As, htmlAttributes: new { @checked = true} )
于 2016-04-04T09:17:07.273 回答
3

您可以在模型的构造函数中设置您的属性

public YourModel()
{
    As = true;
}
于 2015-05-28T22:18:43.520 回答
3
@Html.CheckBox("yourId", true, new { value = Model.Ischecked })

这肯定会奏效

于 2018-11-09T12:41:30.380 回答
0

另一种解决方案是使用 jQuery:

    <script src="js/jquery-1.11.0.min.js" type="text/javascript"></script>
    <script type="text/javascript">
        $(document).ready(function () {
            PrepareCheckbox();
        });
        function PrepareCheckbox(){
            document.getElementById("checkbox").checked = true;
        }
    </script>
于 2014-07-08T18:30:37.953 回答
0

我在控制器中使用具有相同变量名的 viewbag。例如,如果变量被称为“IsActive”并且我希望它在“创建”表单上默认为 true,则在创建操作上我设置值 ViewBag.IsActive = true;

public ActionResult Create()
{
    ViewBag.IsActive = true;
    return View();
}
于 2015-01-25T11:35:12.800 回答
0

我的方式是@Html.CheckBoxFor(model => model.As, new { @value= "true" })(意思是检查)

于 2019-12-13T22:47:02.660 回答