我的控制器
public PartialViewResult AllMetalStockItems()
{
var allMetalDtos = this.metalStockRepository.GetAllMetalSotckDtos();
var allMetalViewModels = Mapper.Map<IEnumerable<MetalStockDto>,IEnumerable<MetalStockViewModel>>(allMetalDtos);
return PartialView("_AllMetalStockItems",allMetalViewModels);
}
查看
@model IEnumerable<GlassContract.Models.ViewModels.Warehouse.MetalStockViewModel>
<table>
<tr>
<th>
Metal Id
</th>
<th>
Colour Code
</th>
<th>
Length
</th>
<th>
Quantity In Stock
</th>
</tr>
@foreach (var item in Model)
{
<tr>
<td>@item.MetalId </td>
<td>@item.ColorCode </td>
<td>@item.Length </td>
<td>@item.QuantityInStock </td>
</tr>
}
</table>
我收到以下消息
对象引用未设置为对象的实例 第18行:@foreach(@Model中的var项目)
这是CreateMap
public static void ConfigureMetalStockMapping()
{
Mapper.CreateMap<MetalStockDto, MetalStock>();
Mapper.CreateMap<MetalStock, MetalStockDto>();
Mapper.CreateMap<MetalStockViewModel, MetalStockDto>();
Mapper.CreateMap<MetalStockDto, MetalStockViewModel>();
Mapper.CreateMap<IEnumerable<MetalStockDto>, IEnumerable<MetalStockViewModel>>();
Mapper.CreateMap<IEnumerable<MetalStockViewModel>, IEnumerable<MetalStockDto>>();
}
metalStockRepository.GetAllMetalSotckDtos()
工作正常,测试也没有问题。我正在使用Automapper进行映射。
答案 0 :(得分:1)
我意识到了
@Html.Partial("_AllMetalStockItems")
不调用控制器+动作
我把它改成了
@Html.Action("AllMetalStockItems","MetalStock")
这解决了我的问题。感谢您的努力,我不得不为没有发布具有此代码位的视图而道歉。