Sitecore的foreach,但按日期字段

问题描述:

我目前有webforms迭代和输出Sitecore项目根据其在Sitecore内的自然顺序。Sitecore的foreach,但按日期字段

规范现在更改为希望针对每个项目使用日期字段,现在将按照最老的首先确定排序顺序 - 什么是最简单的迭代方法,但首先按每个项目中的日期字段对列表进行排序?

字段名称是EVENTDATE

页使用是目前开心:

Sitecore.Collections.ChildList eventItems; 
eventItems = eventRange.GetChildren(); 

foreach (Item eventItem in eventItems) { 
    timelineHolder.InnerHtml += "<h3>" + eventItem.Fields["Title"] + "</h3>"; 
} 

感谢所有帮助

只需添加.OrderBy(ei => ei["EVENTDATE"])在您的foreach循环:

Sitecore.Collections.ChildList eventItems; 
eventItems = eventRange.GetChildren(); 

foreach (Item eventItem in eventItems.OrderBy(ei => ei["EVENTDATE"])) 
{ 
    timelineHolder.InnerHtml += "<h3>" + eventItem.Fields["Title"] + "</h3>"; 
} 

日期是在Sitecore中存储为字符串(在Sitecore中) 8它是20171012T000000Z,在Sitecore 6它是更短的格式)。实际上按日期按字母顺序排序。

+0

非常感谢您的快速回复 – user3779703