01 标准Ajax分页
第一步:引用程序集:Webdiyer.MvcPager.dll
第二步:必须设置UpdateTargetId属性,因为这个属性相于当点击知请求的内容放在那个容器中
Ajax.Pager()方法返回AjaxPager对象,您可以通过Ajax.Pager()方法的重载来传递PagerOptions和MvcAjaxOptions参数,也可以通过新的AjaxPager的Options()和AjaxOptions()方法来设置参数值。
例:
<div class="text-center"> @Ajax.Pager(Model, new PagerOptions { PageIndexParameterName = "pageIndex", ContainerTagName = "ul", CssClass = "pagination", CurrentPagerItemTemplate = "<li class=\"active\"><a href=\"#\">{0}</a></li>", DisabledPagerItemTemplate = "<li class=\"disabled\"><a>{0}</a></li>", PagerItemTemplate = "<li>{0}</li>" }).AjaxOptions(a => a.SetUpdateTargetId("articles")) </div>
@Ajax.Pager(Model, new PagerOptions { PageIndexParameterName = "id", ContainerTagName = "ul", PrevPageText = "上页", NextPageText = "下页", FirstPageText = "首页", LastPageText = "尾页", CssClass = "pagination", CurrentPagerItemTemplate = "<li class=\"active\"><a href=\"#\">{0}</a></li>",DisabledPagerItemTemplate = "<li class=\"disabled\"><a>{0}</a></li>",PagerItemTemplate = "<li>{0}</li>" }, new MvcAjaxOptions { UpdateTargetId = "articles" })
前台代码:
@{
ViewBag.Title = "AajxPage";
Layout = "~/Views/Master/Master.cshtml";
}
@using Webdiyer.WebControls.Mvc;
@model PagedList<MvePage.Models.Article>
<html>
<script src="~/Scripts/jquery-1.7.1.min.js"></script>
<head>
<style type="text/css">
.table {
border-collapse:collapse;
}
tr {
border:1px solid red;
}
.table td {
border:1px solid #f00
}
.text-center {
width:100%;
}
ul {
list-style:none;
}
li {
float:left;
height:15px;
width:40px;
}
</style>
<title></title>
</head>
<body>
@DateTime.Now
<div id="articles">这是请求顺应数据的容器
@Html.Partial("_ArticleList",Model) 请求的页面
</div>
@{Html.RegisterMvcPagerScriptResource();} 这个是需要引用的JS
</body>
</html>
1 @{ 2 Layout = null; 3 } 4 @using Webdiyer.WebControls.Mvc 5 @model PagedList<MvePage.Models.Article> 6 <table class="table"> 7 8 <tr> 9 <td>序号</td> 10 <td>创建时间</td> 11 <td>文章标题</td> 12 <td>作者</td> 13 <td>文章来源</td> 14 </tr> 15 @{ 16 if (Model != null && Model.Count > 0) 17 { 18 foreach (var item in Model) 19 { 20 <tr> 21 <td>@item.ID</td> 22 <td></td> 23 <td></td> 24 <td></td> 25 <td></td> 26 </tr> 27 } 28 } 29 30 } 31 </table> 32 <div class="text-center"> 33 @Ajax.Pager(Model, new PagerOptions { PageIndexParameterName = "pageIndex", ContainerTagName = "ul", CssClass = "pagination", CurrentPagerItemTemplate = "<li class=\"active\"><a href=\"#\">{0}</a></li>", DisabledPagerItemTemplate = "<li class=\"disabled\"><a>{0}</a></li>", PagerItemTemplate = "<li>{0}</li>" }).AjaxOptions(a => a.SetUpdateTargetId("articles")) 34 </div>
1 using MvePage.Models; 2 using System; 3 using System.Collections.Generic; 4 using System.Linq; 5 using System.Web; 6 using System.Web.Mvc; 7 8 using Webdiyer.WebControls.Mvc; 9 10 namespace MvePage.Controllers 11 { 12 public class AjaxPageController : Controller 13 { 14 15 16 17 public ActionResult AajxPage(string pageIndex) 18 { 19 List<Article> articles= GetArticles(); 20 PagedList<Article> model = articles.ToPagedList(Convert.ToInt32(pageIndex), 5); 21 if(Request.IsAjaxRequest()) 22 { 23 24 return PartialView("_ArticleList", model); 25 } 26 27 return View(model); 28 } 29 30 public List<Article> GetArticles() 31 { 32 33 List<Article> articles = new List<Article>(); 34 35 for (int i = 0; i < 1000; i++) 36 { 37 Article article = new Article() 38 { 39 ID = i, 40 PubDate = DateTime.Now 41 42 }; 43 articles.Add(article); 44 } 45 46 return articles; 47 } 48 49 } 50 }

浙公网安备 33010602011771号