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");
}
Другие вопросы по тегам