业务需求:页面显示的文章按照年份分组并按照年份倒序排列。
控制器代码实现:
public class ArticleController : Controller { private DataContext db = new DataContext(); // // GET: /Article/ public ActionResult Index() { //var articles = from a in db.Articles group a by a.CreateTime.Year into aa orderby aa.Key descending select aa; return View(db.Articles.GroupBy(a => a.CreateTime.Year).OrderByDescending(a => a.Key).ToList()); } }
视图部分:
引入类型:@model IEnumerable<IGrouping<int, _116.Models.ArticleModels>>
<h2><small>文章存档</small></h2> <div> @foreach (var items in Model) { <h3 class="h3"><small>@items.Key</small></h3> <ul> @foreach (var item in items) { <li class="list-group-item-text"> <a href="/Article/Details/@item.ObjectID">@Html.DisplayFor(modelItem => item.ObjectTitle)</a> <div class="meta"> <time>@item.CreateTime.ToString("yyyy-MM-dd")</time> <i class="glyphicon glyphicon-eye-open eye"></i> <span>(@Html.DisplayFor(modelItem => item.VisitedCount))</span> </div> </li> } </ul> } </div>
页面效果: