2013-03-01 5 views
0

Я хочу получить «Имя» и «Значение» из выпадающего списка из представления Razor MVC3. Каков наилучший подход?mvc3, получая имя и значения из выпадающих списков в Razor Views?

Бритва Код:

 <div class="editor-label"> 
      @Html.LabelFor(model => model.Occupation) 
     </div> 
     <div class="editor-field"> 
      @Html.DropDownListFor(model => model.Occupation.PK, Model.GetLUV("Occupation",Model.Occupation.PK)) 
     </div> 

результирующей HTML:

 <div class="editor-label"> 
      <label for="Occupation">Occupation</label> 
     </div> 
     <div class="editor-field"> 

      <select id="Occupation_PK" name="Occupation.PK"><option value="17">IT</option> 
       <option value="18">Accountant</option> 
       <option selected="selected" value="19">Solicitor</option> 
      </select> 
      <span class="field-validation-valid" data-valmsg-for="Occupation" data-valmsg- replace="true"></span> 
     </div> 

IE Я хочу сохранить PK = 17 и Occupation = "IT", а не только PK = 17. Я сохраняю это в XML.

Мои первоначальные мысли состоят в том, чтобы добавить скрытое поле, а затем использовать некоторую форму javascript, чтобы заполнить ее во время выполнения. Я считаю, что мне нужно дополнительное поле, чтобы гарантировать, что modbiding может забрать его для заполнения XML.

Большое спасибо в Advance.

ответ

1

Содержимое раскрывающегося списка будет доступно для редактирования злоумышленником в их браузере, что позволит им сохранить в своем хранилище любое значение Родства, которое им понравилось. Это было бы нежелательно.

Возможно, вы захотите выполнить поиск на стороне сервера, когда форма будет отправлена ​​обратно. Служба поиска будет принимать идентификатор (17 в этом случае) и возвращает вам строку («IT»). Тогда пользователь не может злоупотребить игрой со значением.

+0

Пользователь всегда может сохранять HTML, изменять его и использовать для отправки измененного значения на сервер. Или им даже не нужно его сохранять, они могут просто использовать firebug или другие подобные инструменты. В любом случае, поиск на стороне сервера является возможным решением. –

+0

Точно. Вот почему я рекомендую поиск на стороне сервера на почте. –