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>


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

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

Похожие вопросы