通过 IEnumerable 来查看和显示它
Pass IEnumerable to View and Display It
我有一个实体 class Owners
需要关联的 class 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 页面作为基础,但他们没有创建下拉菜单来选择要与所有者链接的汽车。我已经能够在我的控制器中使用私有可枚举 class 获得选择视图:
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: Buttons/Create
public IActionResult Create()
{
var cars = GetAllCars();
return View(cars);
}
我的问题是如何通过变量让汽车显示在页面上?如果无法完成,是否有另一种方法可以将汽车添加到视图中?我对 Razor 很陌生,不确定是否可以使用脚手架页面。
在研究和了解有关 Razor 的更多信息后,我认为实现此目的的最简单方法是创建一个包含 IEnumerator<Cars>
、SelectedItem SelectedCar
和 OwnerModel Car
的视图模型。然后我在控制器中初始化了新的视图模型并能够传递数据。
我有一个实体 class Owners
需要关联的 class 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 页面作为基础,但他们没有创建下拉菜单来选择要与所有者链接的汽车。我已经能够在我的控制器中使用私有可枚举 class 获得选择视图:
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: Buttons/Create
public IActionResult Create()
{
var cars = GetAllCars();
return View(cars);
}
我的问题是如何通过变量让汽车显示在页面上?如果无法完成,是否有另一种方法可以将汽车添加到视图中?我对 Razor 很陌生,不确定是否可以使用脚手架页面。
在研究和了解有关 Razor 的更多信息后,我认为实现此目的的最简单方法是创建一个包含 IEnumerator<Cars>
、SelectedItem SelectedCar
和 OwnerModel Car
的视图模型。然后我在控制器中初始化了新的视图模型并能够传递数据。