asp.net mvc2 получить идентификатор и значение из выпадающего списка - PullRequest
1 голос
/ 05 мая 2011

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

текущий код:

<div class="editor-field">
 <%= Html.DropDownList("MySelectedItem", new SelectList(Model.Items, "Value", 
     "Key",Model.Items))%><small class="marker">*</small>
</div>

Если пользователь выбирает пункт 3 из выпадающего меню, я хочу попасть внутрь контроллера:

MySelectedItem.Value = 3
MySelectedItem.Key= "something"

Ответы [ 3 ]

0 голосов
/ 05 мая 2011

(если я не понимаю ..)

В браузере у вас будет что-то вроде

<select name="MySelectedItem">
    <option value="Model.Item.Value1">Model.Item.Key1</option>
</select>

Когда форма будет опубликована, у вас будет Request.Form ["MySelectedItem"] со значением "Model.Item.Value1", что означает, что у вас есть несколько вариантов выбора

  1. Заполнить скрытое поле на стороне клиента при изменении раскрывающегося списка или
  2. Перезагрузите свою коллекцию в контроллере и найдите предмет, где:

    Item.Value == Request.Form ["MySelectedItem"]

0 голосов
/ 05 мая 2011

Похоже, вам лучше работать над дизайном кода. Ключ должен быть всем, что вам нужно, чтобы определить значение. Зачем вам нужно знать значение?

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

0 голосов
/ 05 мая 2011

Как насчет просто вытолкнуть одно из значений в скрытом поле на событие изменения, используя JQuery, легко и просто, и ваша проблема решена.

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