如何获得 IGrouping 结果以映射到视图?
我有这个查询:
var groupedManuals = manuals.GroupBy(c => c.Series);
return View(groupedManuals);
ViewPage 声明的正确映射是什么?
Inherits="System.Web.Mvc.ViewPage<IEnumerable<ProductManual>>"
如何获得 IGrouping 结果以映射到视图?
我有这个查询:
var groupedManuals = manuals.GroupBy(c => c.Series);
return View(groupedManuals);
ViewPage 声明的正确映射是什么?
Inherits="System.Web.Mvc.ViewPage<IEnumerable<ProductManual>>"
我仍处于学习 Linq 的早期阶段,所以我可能错了,但我认为 ViewPage 需要类似于
Inherits="System.Web.Mvc.ViewPage<IEnumerable<IGrouping<Series, Manual>>>
在帮助别人的情况下。这就是我试图完成的。
动作代码
var groupedManuals = manuals.GroupBy(c => c.Series);
return View(groupedManuals);
风景
<%@ Page Title="" Language="C#" MasterPageFile="~/Views/Shared/Site.Master" Inherits="System.Web.Mvc.ViewPage<IEnumerable<IGrouping<string, ProductManualModel>>>" %>
<% foreach (var item in Model)
{ %>
<div class="manual-category">
<h5>
<%= Html.Encode(item.Key) %> Series</h5>
<ul>
<% foreach (var m in item)
{ %>
<li><a href="<%=Url.ManualLink(m.Id) %>" class="model-manuals">
<%= m.Id %></a> </li>
<% } %>
</ul>
</div>
IGrouping 可以说是一个列表列表。“键”是源列表中的分组属性。
视图必须与页面类型相同。您必须将输出转换为视图页面使用的相同类型。
您还可以使用 aViewData["Products"]
设置您希望在 View aspx 页面上显示的集合信息。