Передайте IEnumerable, чтобы просмотреть и отобразить его - PullRequest
0 голосов
/ 01 февраля 2020

У меня есть класс сущностей Owners, для которого требуется, чтобы связанный класс Cars был связан с ним:

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

    [Required]
    [MaxLength(32)]
    public string Name{ get; set; }

    [Required]
    public Cars AssociatedCar { get; set; }

Модель, которую я использую на своей странице Razor, является моим владельцем:

@model Dealership.Domain.DatabaseContext

Я использую в качестве основы страницы Razor, но они не создали раскрывающийся список для выбора автомобиля, который будет связан с владельцем. Мне удалось получить представление выбора на моем конце, используя закрытый перечислимый класс в моем контроллере:

    private IEnumerable<SelectListItem> GetAllCars()
    {
        var Cars = _carData.GetAllCars().Result;

        var List = Cars.Select(x => new SelectListItem { Value = x.Id.ToString(), Text = x.Name });

        return new SelectList(List, "Value", "Text");
    }

Затем я установил его в скаффолдинговом контроллере get:

    // GET: Buttons/Create
    public IActionResult Create()
    {
        var cars = GetAllCars();
        return View(cars);
    }

Мой вопрос заключается в том, как заставить автомобили отображаться на странице через переменную? Если это невозможно сделать, есть ли другой способ добавить автомобили в представление? Я очень новичок в Razor и не уверен, возможно ли это с помощью страниц подмостей.

1 Ответ

0 голосов
/ 02 февраля 2020

Изучив и узнав больше о Razor, я подумал, что самый простой способ выполнить sh это создать модель представления, содержащую IEnumberator<Cars>, SelectedItem SelectedCar и OwnerModel Car. Затем я инициализировал новую модель представления в контроллере и смог передать данные.

...