我的数据库中有一张表,看起来有点像这样:
链接 LinksID TvID(外键) 季节 插曲 链接
现在,我试图在我的视图中有一个foreach语句,以便它在我的页面上看起来像这样。
第一季 第1集 第2集 第3集 第二季 第1集 第2集 第3集
不过,我能得到的就是
第一季第1集 第一季第2集 第一季第3集 第2季第1集 第2季第2集 第2季第3集
因此,在谷歌搜索之后,我现在有了这样的前瞻,但它显然只显示了第一集,这不是我想要的。
@foreach (var item in Model.Links.GroupBy(x => x.Season).Select(s => s.First()))
{
<p>Season @Html.DisplayFor(modelItem => item.Season) @Html.DisplayFor(modelItem => item.Episode)</p>
}我做错什么了?
发布于 2014-10-27 03:29:51
你想要这样的东西:
@{
var myList = Model.Links
.GroupBy(x => x.Season)
.Select(x => new { Season = x.Key, Episodes = x });
}
@foreach (var season in myList)
{
<strong>Season @Html.DisplayFor(modelItem => season.Season)</strong>
foreach(var episode in season.Episodes)
{
@Html.DisplayFor(modelItem => item.Episode)
}
}发布于 2014-10-27 10:42:28
你只要试试这段代码
@foreach (var item in Model.Links.GroupBy(x => x.Season).tolist()))
{
Season @Html.DisplayFor(modelItem => item.Season)
@foreach (var items in Model.Links.where(z=>z.season==itme.season))
{
@Html.DisplayFor(modelItem => item.Episode)
}
} https://stackoverflow.com/questions/26580627
复制相似问题