2013-08-13 2 views
0

Я создаю страницу для редактирования отчетов о несоответствии. Страница занимает в модели, которая выглядит следующим образом:DropdownList Не отображается выбранный элемент

enter code here

На странице, я пытаюсь показать выпадающий список с текущим значением FaultCode свойства предварительно выбрано. Однако он не работает. Вместо этого я раздел его обратно к основам и пытался жестко закодировать предварительно выбранное значение, а именно:

@{ 
       var faultCodeList = new List<SelectListItem> 
       { 
        new SelectListItem { Text = "Internal Damage", Value = "Internal Damage" }, 
        new SelectListItem { Text = "Customer Problem", Value = "Customer Problem" }, 
        new SelectListItem { Text = "Incorrect Material Supplied", Value = "Incorrect Material Supplied" }, 
        new SelectListItem { Text = "Received Material Damaged", Value = "Received Material Damaged" }, 
        new SelectListItem { Text = "No Test Certificate Supplied", Value = "No Test Certificate Supplied" }, 
        new SelectListItem { Text = "Other", Value = "Other", Selected = true} 
       }; 
      } 

      @Html.DropDownList("FaultCode", faultCodeList) 

Это все еще не работает. Однако, если я изменю имя поля на что-то другое, кроме FaultCode - i.e FaultCode2 - он работает отлично!

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

+0

Что означает «не работает»? Не показывать, что должно быть показано? – Andrei

+0

Запись «Другое» не выбрана - по умолчанию используется первый элемент в списке. –

ответ

0
@Html.DropdownList("FaultCode", new SelectList(faultCodeList, "Value", "Text","Other")) 

Вы должны связываться с SelectList, чем список, так что последний параметр можно отметить выбранное значение «Другое» ,

+0

ОК, похоже, сейчас работает (хотя в DropDown вам не хватает капитала «D». Уверен, что у меня был такой код раньше, и он не работал ... –

+0

Извините за ошибку опечатки :) –