Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/csharp-4.0/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net mvc 4 能否在ASP.NETMVC中将iQueryable容器传递给Viewbag并进行查询?_Asp.net Mvc 4 - Fatal编程技术网

Asp.net mvc 4 能否在ASP.NETMVC中将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)

关于这方面的在线信息很少,但我想知道是否可以将iQueryable传递给Viewbag并在视图中对其执行查询

我正试图这么做,但智能感知说它无法解析符号。我不希望创建一个视图模型只是为了传入这个列表,因为底层代码已经准备好了

我的观点是:

 <%: 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匹配,为每个表单元格显示一个顶部组。您应该在控制器操作中进行比较,创建一个视图模型,并将其传递给具有单一且唯一职责的视图:显示数据。显示不包括计算。