SelectList не заполняется с помощью ViewBag
Этот кусок кода озадачивает меня, похоже, я что-то упустил.
модель
public class County
{
public int ID { get; set; }
public string Name { get; set; }
}
public class Education
{
public int ID { get; set; }
public string Title { get; set; }
}
контроллер
public ActionResult Create()
{
ViewBag.ListOfCounties = new SelectList(db.Counties, "ID", "Name");
ViewBag.ListOfEducations = new SelectList(db.Educations, "ID", "Title");
return View();
}
Посмотреть
@Html.DropDownListFor(model => model.Person.County, ViewBag.ListOfCounties as SelectList, "Choose county")
@Html.DropDownListFor(model => model.Person.Education, ViewBag.ListOfEducations as SelectList, "Choose education")
Список округов отображается нормально, но список образований пуст. Разница в том, что я использую "Заголовок", а не "Имя" в "Обучениях".
Затем я попытался переименовать "Заголовок" в "Имя" в моей модели и контроллере, а затем список отображался нормально.
Но я бы хотел использовать "Заголовок", а не "Имя"!
1 ответ
Решение
Я нашел решение для этого, в моем контроллере я изменил его на.
ViewBag.ListOfEducations = new SelectList(db.Educations.Select(c => new { c.ID, c.Title }), "ID", "Title");
Но почему я должен был это сделать? По моему мнению, исходный код должен был сработать.