我有一个实体类所有者,它需要关联的汽车类与之关联:
[Key]
public int Id { get; set; }
[Required]
[MaxLength(32)]
public string Name{ get; set; }
[Required]
public Cars AssociatedCar { get; set; }
我在“剃刀”页面中使用的模型是我的所有者:
@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的新手,不确定是否可以使用脚手架页面。
在研究和学习了有关Razor的更多信息之后,我想到了最简单的方法是创建一个包含an IEnumberator<Cars>
,a SelectedItem SelectedCar
和的视图模型OwnerModel Car
。然后,我在控制器中初始化了新的视图模型,并能够传递数据。