先看效果
这个其实用c#实现起来比较简单:
Sides = bllSession.IArticleBLL.GetList("") .Select(a => a.Time) .GroupBy(a => a.GetDateTimeFormats('y')[0]) .Select(g => (new SideArticleCalendar() { DateDisplay = g.Key, Count = g.Count() })) .ToList();
先查找全部的集合返回一个IEnumerable 再通过Linq 筛选结果返回 List<SideArticleCalendar>集合 包含时间和数量
前台代码
<div id="recent_posts" class="list-group"> @foreach (var item in ViewBag.Calendars as List<SideArticleCalendar>) { <a class="list-group-item" href="/Blog/Index?Date=@Convert.ToDateTime(@item.DateDisplay).ToString("yyyy-MM") ">@item.DateDisplay (@item.Count)</a> } </div>