У меня странная проблема, связанная с проверкой выпадающих списков в моей форме.Один раскрывающийся список представляет собой список состояний и содержит атрибут RequiredAttribute:
[Required(ErrorMessage="State is required.")]
Внутри представления раскрывающийся список и его проверка определяются следующим образом:
<%: Html.DropDownListFor(m => m.State, new SelectList(BusinessLayer.UsStates.GetList())) %>
<% Html.ValidateFor(m => m.State); %>
UsStates.GetList()
возвращаетList<string>
.Все мои проверки на стороне клиента (включая выпадающие списки) отлично работают в Firefox, Chrome и даже в IE8.Тем не менее, в IE7 он не работает - даже когда состояние (и, очевидно, его значение) правильно выбрано в раскрывающемся списке, проверка завершается неудачно и говорит: «Требуется состояние».
Решил мою проблему:
IE7 не был доволен тем фактом, что атрибут value каждого параметра не отображался.Таким образом, передача List в SelectList () не обрезает его.Вы должны передать список объектов типа пары ключ / значение и передать параметры DataValueField и DataTextField, например:
<%: Html.DropDownListFor(m => m.State, new SelectList(BusinessLayer.UsStates.GetList(), "Value", "Text"))%>
Это было довольно раздражающим ..:)