我们的页面显示附在其上的月度资料单(PDF)作为媒体在Umbraco,媒体按年分组。脚本(使用情况说明书ID作为输入)显示每年的月度情况说明书分组在一个div中。
问题是分组的年份现在取自“date”属性。但是需要一些时间来制作资料单,所以例如12月的资料单有1月15日的日期。我以为我可以替换
x => x.GetPropertyValue<DateTime>("date").Year
与
x => x.Parent.Name
但它似乎不是正确的方法,尽管它适用于例如
@(file.Parent.Name)
在最后一个循环中。谢谢,我真的是ASP.NET的初学者!
IList<IPublishedContent> files = ((IEnumerable<IPublishedContent>) (Umbraco
.Media(factsheetIdsString.Split(new[] {','}))
.OrderBy("date desc")));
@foreach (IGrouping<int, IPublishedContent> yearGroup in files.GroupBy(x => x.GetPropertyValue<DateTime>("date").Year)) {
<div class="col-sm-6">
<h2>@yearGroup.Key factsheets</h2>
<ul>
@foreach (IPublishedContent file in yearGroup) {
<li>File @(file.Name) from folder @(file.Parent.Name)</li>
}
</ul>
</div>
}