Razor C# - 设置复选框值

时间:2011-09-30 06:39:47

标签: asp.net-mvc-3 razor

我的表格带有我的复选框输入,用户可以编辑它。我可以将这些值保存在数据库中,但我不知道如何重新填充表单,因此用户可以对其进行编辑。

这是我的ViewBag var:

 ViewBag.NewFriends = preferences.NewFriends;// this value is a boolean, false

我尝试预设这样的值:

@using (Html.BeginForm("SavePreferences", "Conta"))
{
    @Html.HiddenFor(model => model.ID)
    @Html.CheckBox("newFriends", new { @checked = @ViewBag.NewFriends })
    @Html.Label("newFriends", "Solicitações de Amigo de Alma")
    <p><input type="submit" value="Send" /></p>
}

由于HTML复选框的值为checked =“checked”,而不是true或false,因此不起作用。 @ Html.CheckBox将第一个参数作为输入名称,然后选中一个布尔值(true或false)。

我的问题是如何轻松设置此值?我试过了:

@Html.CheckBox("newFriends", ViewBag.NewFriends) // where ViewBag.NewFriends = false

但它根本不起作用......

有什么想法吗?

1 个答案:

答案 0 :(得分:13)

可能扩展方法CheckBox无法使用动态扩展方法。我尝试了以下示例,它可以工作:

@{ bool isNewFriends =  ViewBag.NewFriends; }
@Html.CheckBox("newFriends", isNewFriends);