【问题标题】:Pass IEnumerable to View and Display It传递 IEnumerable 来查看和显示它
【发布时间】:2020-02-01 08:02:26
【问题描述】:

我有一个实体类 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 很陌生,不确定是否可以使用脚手架页面。

【问题讨论】:

标签: c# asp.net-mvc razor razor-pages


【解决方案1】:

在研究和了解有关 Razor 的更多信息后,我认为最简单的方法是创建一个包含 IEnumerator&lt;Cars&gt;SelectedItem SelectedCarOwnerModel Car 的视图模型。然后我在控制器中初始化了新的视图模型并能够传递数据。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-09-14
    • 2013-08-18
    • 2016-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多