Я использую следующее для создания выпадающего списка:
@for (var index = 0; index < Model.AdminSummaries.Count(); index++)
{
<div class="rep_tr0">
<div class="rep_td0">
@Html.DropDownListFor(x => Model.AdminSummaries[index].Status,
AdminStatusReference.GetAdminStatusOptions(),
new { id = string.Format("Status_{0}",index ) })
</div>
</div>
}
Вот HTML-код, который он генерирует:
<select id="Status_1" name="AdminSummaries[1].Status"><option value="1">Released</option>
<option value="2">Review</option>
<option value="3">New</option>
</select>
Вот класс, который дает параметры статуса.
public static class AdminStatusReference
{
public static IEnumerable<SelectListItem> GetAdminStatusOptions()
{
return new[]
{
new SelectListItem { Value = "1", Text = "Released" },
new SelectListItem { Value = "2", Text = "Review" },
new SelectListItem { Value = "3", Text = "New" }
};
}
}
Все работает хорошо, КРОМЕ этого не выбирает элементы правильно. Нет никакой опции с 'selected', чтобы соответствовать данным в AdminSummaries.
Как сделать так, чтобы были выбраны правильные элементы списка выбора?
Просто чтобы прояснить это. Моя проблема в том, что если для состояния есть запись данных со значением 3, то, когда я смотрю на экран, я вижу список выбора со словом «Выпуск».
Мне нужно, чтобы в списке выбора отображался текст, соответствующий значению данных.