Как получить выбранное значение выпадающего в самом MVC View - PullRequest
0 голосов
/ 26 декабря 2009

У меня есть раскрывающийся список в MVC View, который выглядит примерно так:

Html.DropDownList(id, Range(0,10)
                        .Select(x => new SelectListItem {Text = x, Value = x}))

В самом представлении мне нужно выбранное значение этого раскрывающегося списка. Я знаю, что могу получить к нему доступ в JavaScript, но я ищу способ получить его в самом представлении из раскрывающихся свойств или чего-то в этом роде.

Как я могу получить к нему доступ? Я попытался выяснить кое-что из intellisense, но ничего не пришло, помощь очень ценится.

Редактировать : Я хочу получить значение через несколько строк после объявления раскрывающегося списка. Я знаю, что могу получить к нему доступ из JavaScript и опубликовать форму. Есть ли сейчас доступ к нему на посмотреть сам?

Редактировать2: Если нет возможности получить к нему доступ, пожалуйста, объясните причину, мне больше интересно узнать это.

Спасибо.

Ответы [ 4 ]

1 голос
/ 27 декабря 2009

После прочтения вашего вопроса звучит так, как будто вы хотите, чтобы раскрывающийся список содержал значение для нижнего раздела той же страницы.

Прежде всего, вам нужно поместить DropDownList в конструкцию формы, например:

<% using (Html.BeginForm("ProcessValue", "ThisPage")) { %>
    <%= Html.DropDownList("DropID", Range(0, 10).Select(a=>new SelectListItem { Text = x, Value = x }) %>
    <input type=submit value="Submit" />
<% } %>

Вам нужно заранее настроить несколько вещей:

  1. Чтобы получить значение переменной DropID, у вас должна быть кнопка отправки или аналогичная конструкция.
  2. Вам необходимо настроить метод контроллера, который будет обрабатывать обработку значения, а затем перенаправить обратно на исходную страницу с выбранным значением в ViewData страницы.
  3. Наконец, вам нужно настроить представление так, чтобы раздел постобработки отображался только в том случае, если в переменной DropID указано допустимое значение.

Это не так просто, как просто разместить DropDownList в представлении и затем использовать это значение позже на странице. Необходимо задействовать контроллер для управления транспортировкой данных и настроить одно представление для обработки нескольких состояний (т. Е. До того, как значение выбрано и после того, как выбор произойдет).

1 голос
/ 26 декабря 2009

Чтобы получить выбранное значение, вы можете использовать либо JavaScript, либо действие контроллера, которому отправляется форма, содержащая поле выбора.

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

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

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

Выбранное значение будет находиться в коллекции FormCollection или QueryString с именем идентификатора DropDown в действии контроллера, который получает отправку формы из этого представления. Вы можете отправить значения с помощью классического POST или GET или через AJAX, но вам нужно подключить действие на стороне сервера, которое обрабатывает этот ввод.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...