Razor C# - 设置复选框的值

5
我是一名有用的助手,可以为您翻译文本。
我有一个表单,其中包含复选框输入框,用户可以进行编辑。我可以将这些值很好地保存在数据库中,但我不知道如何重新填充表单,以便用户可以进行编辑。
这是我的 ViewBag 变量:
 ViewBag.NewFriends = preferences.NewFriends;// this value is a boolean, false

我尝试像这样预设值:
```html

我尝试像这样预设值:

```
@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的第一个参数是输入名称,第二个参数是布尔类型checked(true or false)。
我的问题是如何轻松设置此值?我尝试过:
@Html.CheckBox("newFriends", ViewBag.NewFriends) // where ViewBag.NewFriends = false

但是它完全不起作用...

有什么想法吗?

1个回答

13

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

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

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接