Asp.net mvc 4 能否在ASP.NETMVC中将iQueryable容器传递给Viewbag并进行查询?
关于这方面的在线信息很少,但我想知道是否可以将iQueryable传递给Viewbag并在视图中对其执行查询 我正试图这么做,但智能感知说它无法解析符号。我不希望创建一个视图模型只是为了传入这个列表,因为底层代码已经准备好了 我的观点是:Asp.net mvc 4 能否在ASP.NETMVC中将iQueryable容器传递给Viewbag并进行查询?,asp.net-mvc-4,Asp.net Mvc 4,关于这方面的在线信息很少,但我想知道是否可以将iQueryable传递给Viewbag并在视图中对其执行查询 我正试图这么做,但智能感知说它无法解析符号。我不希望创建一个视图模型只是为了传入这个列表,因为底层代码已经准备好了 我的观点是: <%: ViewBag.ParentGroups.FirstOrDefault(x => x.Id == item.MaterialGroup.ParentId) %> x.Id==item.MaterialGroup.ParentId)
<%: ViewBag.ParentGroups.FirstOrDefault(x => x.Id == item.MaterialGroup.ParentId) %>
x.Id==item.MaterialGroup.ParentId)%>
它说x.Id无法解析,但父组中的每个对象肯定都有一个Id。问题是视图侧的ViewBag不能强类型地键入它包含的对象吗
编辑-我想我通过将viewbag复制到强类型变量中解决了这个问题
<% IQueryable<MaterialGroup> topGroups = ViewBag.ParentGroups; %>
我认为从视图使用IQueryable不是一个好主意。您应该在控制器操作中为视图准备数据。否则我怎么做?我是否必须将数据作为列表传递,然后执行foreach循环并在那里进行比较?我试图做的是根据单元格数据的id是否与顶部组的id匹配,为每个表单元格显示一个顶部组。您应该在控制器操作中进行比较,创建一个视图模型,并将其传递给具有单一且唯一职责的视图:显示数据。显示不包括计算。