使用Javascript API操作MvcPager时,必须用Html.RegisterMvcPagerScriptResource()注册MvcPager的客户端脚本库。
goToPage方法在跳转前会对传入的页索引参数进行有效性验证,如果传入的页索引不是有效的数值或页索引超出范围(小于0或大于总页数),则会触发PagerOptions.OnPageIndexError属性指定的Javascript函数。可以在本示例中输入进行测试查看效果。
使用Javascript API操作MvcPager时,必须用Html.RegisterMvcPagerScriptResource()注册MvcPager的客户端脚本库。
goToPage方法在跳转前会对传入的页索引参数进行有效性验证,如果传入的页索引不是有效的数值或页索引超出范围(小于0或大于总页数),则会触发PagerOptions.OnPageIndexError属性指定的Javascript函数。可以在本示例中输入进行测试查看效果。
@model PagedList<article> <div class="well well-sm"> <div class="input-group" style="width:35%"> <span class="input-group-addon">转到第</span> <input type="text" id="pagebox" class="form-control input-sm" /> <span class="input-group-addon">页</span> <span class="input-group-btn"><button class="btn btn-primary btn-sm" id="goBtn">跳转</button></span> </div> </div> <div id="articles"> @Html.Partial("_ArticleList", Model) </div> @section Scripts{@{Html.RegisterMvcPagerScriptResource();} <script type="text/javascript"> $(function () { $("#goBtn").click(function () { var pager = Webdiyer.MvcPagers[0]; if (pager != null) { pager.goToPage($("#pagebox").val()); } else { alert("找不到指定的MvcPager!"); } }); }); </script> }
@model PagedList<article> <div class="text-center"> @Ajax.Pager(Model, new PagerOptions { PageIndexParameterName = "id", 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> @{ Html.RenderPartial("_ArticleTable"); } <div class="text-center"> @Ajax.Pager(Model, new PagerOptions { PageIndexParameterName = "id", 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>
@model PagedList<Article> <table class="table table-bordered table-striped"> <tr> <th class="nowrap">序号</th> <th> @Html.DisplayNameFor(model => model.Title) </th> <th> @Html.DisplayNameFor(model => model.PubDate) </th> <th> @Html.DisplayNameFor(model => model.Author) </th> <th> @Html.DisplayNameFor(model => model.Source) </th> </tr> @{ int i = 0;} @foreach (var item in Model) { <tr> <td>@(Model.StartItemIndex + i++)</td> <td> @Html.DisplayFor(modelItem => item.Title) </td> <td> @Html.DisplayFor(modelItem => item.PubDate) </td> <td> @Html.DisplayFor(modelItem => item.Author) </td> <td> @Html.DisplayFor(modelItem => item.Source) </td> </tr> } </table>
public class Article { [Display(Name="文章编号")] public int ID { get; set; } [Display(Name="文章标题")] [MaxLength(200)] public string Title { get; set; } [Display(Name = "文章内容")] public string Content { get; set; } [Display(Name = "发布日期")] public DateTime PubDate { get; set; } [Display(Name = "作者")] [MaxLength(20)] public string Author { get; set; } [Display(Name = "文章来源")] [MaxLength(20)] public string Source { get; set; } }
public ActionResult JavascriptApiAjax(int id = 1) { using (var db = new DataContext()) { var model = db.Articles.OrderByDescending(a => a.PubDate).ToPagedList(id, 5); if (Request.IsAjaxRequest()) return PartialView("_ArticleList", model); return View(model); } }