Я использую следующие для создания выпадающего списка:Выбранный элемент не отображается, когда я использую DropDownListFor
@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 для статуса, тогда, когда я смотрю на экран, я вижу список выбора со словом «Release».
Что мне нужно для выбора списка, чтобы отобразить текст, соответствующий значению данных.
Какой тип имеет свойство вашей модели 'Model.AdminSummaries [index] .Status'? Если его тип перечисления, попробуйте изменить его на 'int'. – Jan
public string Status {get; задавать; } –
public string Status {get; задавать; } - я изменился на int, но все еще не работает. –