Как получить доступ к значению CheckBox в ASP.NET MVC без использования параметра метода - PullRequest
1 голос
/ 09 июля 2009

Я использую следующий HTML-помощник для создания флажка:

<%= Html.CheckBox("DeluxeFeature")%>

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

Я пытаюсь использовать

Request.Form["DeluxeFeature"]

Но поведение очень странное; если флажок не отмечен, то Request.Form["DeluxeFeature"] возвращает "false", что ожидается. Но если флажок установлен, то он повторяет «true, false».

Очень странно, не правда ли?

Ответы [ 2 ]

7 голосов
/ 09 июля 2009

Эта тема на форумах asp.net объясняет поведение - есть даже комментарий Фила Хаака из команды проекта ASP.NET MVC (бонус !!).

Так что лучший способ справиться с этим, если вы не используете хелперы / связующие модели, как опубликовано levib, похоже,

Request.Form.GetValues("DeluxeFeature")[0]
0 голосов
/ 12 декабря 2013

Это сработало для меня.

var checkbox = Request.Form.Get("DeluxeFeature");
if (checkbox.Contains("true"))
{
    //Whatever code if the checkbox is checked.
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...