首页 > 解决方案 > 为什么用 viewbag 渲染数据会报错?

问题描述

为什么 .net mvc razor 视图会出现此错误

在此处输入图像描述

控制器代码

ViewBag.LowStock = db.StockInformations.Where(x => x.Qty <= x.MinStockLevel);

查看代码

  @{
List<StockInformation> DangerLavel = (List<StockInformation>)ViewBag.LowStock;
var count = 0;
ViewBag.Title = "Create";
}

标签: c#asp.net-mvcrazor

解决方案


由于LowStock是查询,因此您不能将其强制转换为List<StockInformation>. 相反,您应该调用ToList()它:

List<StockInformation> DangerLavel = ViewBag.LowStock.ToList();

该调用在应用过滤器后从中检索数据,DbQuery在内存中生成一个列表。


推荐阅读