我正在使用ASP.NET MVC3。目前我有一个博客。它运作良好,但条目现在变得很多,所以我需要一个archieve每月分组。问题是我不知道该怎么做。
我正在考虑它的日期时间,但我不知道它背后的逻辑..我想实现这样的事情
September 2012 (1)
October 2012 (3)
December 2012 (0)
我很感激能帮助我的人。谢谢。 :)
答案 0 :(得分:2)
你可以这样做。我之前有同样的问题。
的 ArchiveRepository 强>
public IQueryable<ArchiveListModel> AchiveList()
{
var ac = from Post in db.Posts
group Post by new { Post.DateTime.Year
, Post.DateTime.Month }
into dategroup
select new ArchiveListModel()
{
AchiveYear = dategroup.Key.Year,
AchiveMonth = dategroup.Key.Month,
PostCount = dategroup.Count()
};
return ac;
}
<强>控制器强>
public ActionResult ArchiveBrowse(int AchiveYear, int AchiveMonth, int PostCount)
{
var archivemodel = (from a in db.Posts
where a.DateTime.Year == AchiveYear &&
a.DateTime.Month == AchiveMonth
select a).ToList();
return View(archivemodel);
}
查看强>
@foreach (var item in Model)
{
@Html.ActionLink(System.Globalization.CultureInfo.CurrentCulture.DateTimeFormat.GetMonthName(item.AchiveMonth) + "" + item.AchiveYear + " (" + item.PostCount + ")",
"ArchiveBrowse", "Post", new
{
AchiveYear = item.AchiveYear,
AchiveMonth = item.AchiveMonth,
PostCount = item.PostCount
}, null)
}