1 回答
TA贡献1826条经验 获得超6个赞
我建议更新 automapper 行以转换为 List 而不是 IEnumerable 接口,以便您可以确保视图模型在控制器中具体化。查看存储库代码很明显,但如果您只能看到存储库返回 IEnumerable,则不是。
下面的主要更改是确保 AutoMapper 映射到视图模型对象列表,并且视图正在接收由这些视图模型对象列表组成的模型。我假设 CarsVM 对象是单个 Cars 对象的视图模型实例。
资料库
public class MyRepository
{
public async Task<List<Cars>> GetAllCarsAsync()
{
return await _RepositoryContext.Set<Cars>().ToListAsync();
}
}
控制器
public class MyController: Controller
{
[HttpGET]
public async Task<IActionResult> Create()
{
var car = await _MyRepository.GetAllCarTypesAsync();
var model = _mapper.Map<List<CarsVM>>(car);
return View(model);
}
}
看法
@model List<DataLayers.Models.ViewModels.CarsVM>
<form asp-controller="MyController" asp-action="Create">
<label class="label" asp-for="Carname"></label>
<input class="input" type="text" asp-for="Carname">
<select>
<option> A carType </option>
<option>A carType </option>
</select>
</from>
- 1 回答
- 0 关注
- 74 浏览
添加回答
举报