文章内容
2017/5/23 10:56:52,作 者: 黄兵
asp.net MVC实现文章的“上一篇下一篇”
在文章中增加上一篇下一篇不仅可以增加爬虫抓取到的几率,而且在系列文章中是读者方便阅读。
下面使用asp.net mvc实现文章的“上一篇下一篇”的功能,大家可以参考一下:
[ChildActionOnly]public ActionResult PreNextBlog(int Id){if (Id == 0)return RedirectToAction("Index");//用pre和next变量分别存放上一篇文章和下一篇文章的id号int pre = 0, next = 0, i = 0, j;//计算总记录数using(UnitOfWork uow=new UnitOfWork()){var BlogItem = uow.BlogRepository.GetAll();int num = BlogItem.Count();int[] a = new int[num];var query = BlogItem.Select(x => x.Id);foreach(var item in query){a[i] = Convert.ToInt32(item);i++;}//循环,获取上一篇和下一篇文章的ID号,分别放入变量pre和next中for (j = 0; j < num; j++){if (a[j] == Id){if (j != 0) pre = a[j - 1];if (j != num - 1) next = a[j + 1];}}//获取上一篇文章的标题if (pre == 0){ViewBag.preTitle = "没有了";ViewBag.pre = Id;}else{ViewBag.preTitle = BlogItem.Where(x => x.Id == pre).Single().Title;ViewBag.pre = pre;}//获取下一篇文章的标题if (next == 0){ViewBag.nextTitle = "没有了";ViewBag.next = Id;}else{ViewBag.nextTitle = BlogItem.Where(x => x.Id == next).Single().Title;ViewBag.next = next;}}return PartialView();}
之后看一下前端的代码如下:
<div><label>上一篇:</label>@Html.ActionLink((string)ViewBag.preTitle, "Details", new { Id = ViewBag.pre })<br /><label>下一篇:</label>@Html.ActionLink((string)ViewBag.nextTitle, "Details", new { Id = ViewBag.next })</div>
本文参考:
评论列表