使用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);
}
}