2013-02-13 2 views
1

ASP.NET MVC3을 사용하고 있습니다. 현재 나는 블로그를 가지고있다. 그것의 잘 작동하지만 항목이 지금은 매월 그들을 그룹화 archieve 필요 많은지고있다. 문제는


.. 내가 그것을 어떻게 아이디어를 해달라고이다 나는 날짜에 자신을 생각하고 있지만 .. 나는이
블로그 아카이브 ASP.NET MVC3

September 2012 (1) 
October 2012 (3) 
December 2012 (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) 

} 
+0

감사합니다. 내가이 질문을 한 지 한 달이 지났다. 하지만 여전히 도움이됩니다. –