Razor C # - настройка значений флажков - PullRequest
5 голосов
/ 30 сентября 2011

У меня есть форма с вводами для флажков, и пользователь может редактировать ее. Я могу сохранить эти значения в базе данных хорошо, но я не знаю, как заполнить форму, поэтому пользователь может редактировать ее.

Это мой 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-флажок имеет значение флажок = "флажок", а не истина или ложь, он не работает. @ Html.CheckBox имеет первый параметр в качестве входного имени, а второй проверяется логическое значение (true или false).

Мой вопрос: как мне легко установить это значение? Я попробовал:

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

Но это совсем не работает ...

Есть идеи?

1 Ответ

13 голосов
/ 30 сентября 2011

Вероятно, метод расширения CheckBox не может работать с динамическим.Я попробовал следующий пример, и он работает:

@{ bool isNewFriends =  ViewBag.NewFriends; }
@Html.CheckBox("newFriends", isNewFriends);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...