ASP.Net MVC передает строку базы данных в значение CheckBox - PullRequest
0 голосов
/ 16 декабря 2009

Это тесно связано с вопросом, который я вчера разместил относительно CheckBoxes.

Вот мои настройки:

  • У меня есть каталог базы данных со списком имен, среди прочих полей, в качестве моей модели.

  • У меня есть страница поиска, где пользователи могут искать в этом каталоге и выбирать имя.

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

  • Контроллер, который обрабатывает отправленную форму.

Цель:

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

1 Ответ

0 голосов
/ 16 декабря 2009

Вы не можете изменить значение флажка; флажки всегда публикуются с «on» в качестве значений, если установлен этот флажок, и MVC может использовать это для автоматического сопоставления опубликованных значений с логическими значениями Однако, если этот список имен является динамическим, а каждое имя уникальным, вы можете сгенерировать форму с помощью флажков с динамическими именами. Затем в контроллере вы можете просмотреть необработанную форму, чтобы увидеть, какие имена были проверены. Например, в представлении ваш код может выглядеть примерно так:

<form>
  <% /* Some loop here */ { %>
    <input type="checkbox" name="name_<%= Html.Encode(theName) %>" /> 
    <label><%= Html.Encode(theName) %></label>
  <% } %>
</form>

Затем в контроллере:

foreach (string name in listOfAvailableNames)
{
    if (Request.Form["name_" + name] == "on")
    {
        // Handle the name being selected
    }
    else
    {
        // Handle the name not being selected
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...