ASP.NET Core: помощник по тегам "select" пуст
Мне нужно иметь представление с выбранным элементом. У меня есть следующий класс VM:
public class EditTicketVM
{
public EditTicketVM()
{
Statuses = new SelectList(new List<SelectListItem>{
new SelectListItem("Open", "open"),
new SelectListItem("Pending", "pending"),
new SelectListItem("Hold", "hold"),
new SelectListItem("Solved", "solved"),
new SelectListItem("Closed", "closed"),
});
}
public string Description { get; set; }
public string Subject { get; set; }
public string Status { get; set; }
public SelectList Statuses { get; set; }
}
и выберите элемент на странице:
<select asp-for="Status" class="form-control" asp-items="Model.Statuses" />
Но на странице результатов этот элемент пуст:
что не так в моем коде?
1 ответ
Решение
Я проверил ваш код на моей стороне. Проблема в вашем select
тег. Вы используете самозакрывающийся тег выбора. Это не будет работать. Напишите ваш тег выбора следующим образом:
<select asp-for="Status" class="form-control" asp-items="Model.Statuses">
<option value="">Select Status</option>
</select>
У вас также есть проблема в вашем SelectList
инициализация. То, как вы инициализировали SelectList
не будет работать. Инициализируйте ваш SelectList
следующее:
public EditTicketVM()
{
Statuses = new SelectList(new List<SelectListItem> {
new SelectListItem(){Text = "Open", Value = "open"},
new SelectListItem(){Text = "Pending", Value = "pending"},
new SelectListItem(){Text = "Hold", Value = "hold"},
new SelectListItem(){Text = "Solved", Value = "solved"},
new SelectListItem(){Text = "Closed", Value = "closed"},
},"Value","Text");
}