DropDownList MVC получить из базы?

Добрый день, как мне из базы закинуть данные в DropDownList, внизу все примеры выложу.

База "EmployeesDepartments" - Model
public class EmployeesDepartments
    {
        public IEnumerable<SelectListItem> Division { get; set; }

        [AutoIncrement]
        public int Id { get; set; }

        public string Lastname { get; set; }

        public string Firstname { get; set; }
}

База "Division" - Model
public class Division
    {
        [AutoIncrement]
        public int Id { get; set; }

        [Display(Name = "Название отдела")]
        public string Name { get; set; }
    }


//Controller.cs
public ActionResult Index()
        {
            List<EmployeesDepartments> employees = app.db().Select<EmployeesDepartments>().ToList();
            ViewData["EmployeesDepartments"] = employees;

            return View(employees);
        }


index.cshtml
@model БизнесАссистент.App.Models.EmployeesDepartments
@{
    ViewBag.Title = "Добавить нового работника";
}
    <div class="form-group">
        
        <div class="col-md-7">
            @Html.DropDownListFor(
                x => x.Division,
                new SelectList(Model.Division, "Value", "Text")
            );
        </div>
    </div>


Где допущена ошибка, ничего не выводится просто.
  • Вопрос задан
  • 443 просмотра
Пригласить эксперта
Ответы на вопрос 1
@dmitryKovalskiy
программист средней руки
Модель не должна содержать уши выпадающего списка.SelectListItem в модели - это уже костыль чтобы кода поменьше писать, при этом протащив зависимость интерфейса выпадающего списка аж до самой базы. Что вам мешает написать LINQ запрос который явно модель подразделений переформирует в список SelectListItem - явно указав какие параметры будут Key, а какие Value. База знать не должна ни про какой SelectListItem. Это все код уровня View.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы