看起来您正在构建匿名对象的集合。您应该做的是,创建一个 ViewModel 并通过更新投影部分在您的 LINQ 查询中使用它。因此,它返回一个匿名项目列表,而是返回一个视图模型类实例的列表
public class StockDetail
{
public string CategoryName { set;get;}
public int TotalItems { set;get;}
}
现在在您的 GET 操作方法中,更新 LINQ 表达式的投影部分并将结果加载到StockDetail
public ActionResult GetCategories()
{
List<ProfitsModel> prof =GetCollectionOfProfitsModelFromSomewhere();
var items= from p in prof
group p by p.IdCategory.Name into g select new StockDetail
{ Category = g.Key, TotalUnitsInStock = g.Sum(p => p.Value) };
return View(items);
}
将您的视图强类型化为 StockDetails 集合
@model List<StockDetail>
@foreach(item in Model)
{
<p>@item.Category </p>
<p>@item.TotalUnitsInStock.ToString()</p>
}