当MvcPager自身的分页导航界面无法满足您的要求而您仍然需要使用MvcPager的分页功能时,可以将PagerOptions.HidePagerItems属性设为true来隐藏MvcPager分页导航元素(页索引输入或选择框以及跳转按钮不属于MvcPager界面的一部分,因此不受此属性影响),然后通过客户端Javascript API来构建您自己的分页导航元素。
- Url路由分页
- Ajax分页
- Ajax搜索分页
- 外观样式
- 分页数据相关
- Javascrip API
- AjaxPager 类
- AjaxHelper.Pager 扩展方法
- HtmlPager 类
- HtmlHelper.Pager 扩展方法
- IPagedList 接口
- IPagedList<T> 接口
- MvcAjaxOptions 类
- MvcAjaxOptionsBuilder 类
- PagedList<T> 类
- PageLinqExtensions 类
-
PagerOptions 类
- ActionName属性
- AlwaysShowFirstLastPageNumber属性
- AutoHide属性
- ContainerTagName属性
- ControllerName属性
- CssClass属性
- CurrentPageNumberFormatString属性
- CurrentPagerItemTemplate属性
- DisabledPagerItemTemplate属性
- FirstPageRouteName属性
- FirstPageText属性
- GoToButtonId属性
- HidePagerItems属性
- HorizontalAlign属性
- HtmlAttributes属性
- Id属性
- InvalidPageIndexErrorMessage属性
- LastPageText属性
- MaximumPageIndexItems属性
- MaximumPageNumber属性
- MorePagerItemTemplate属性
- MorePageText属性
- NavigationPagerItemsPosition属性
- NavigationPagerItemTemplate属性
- NextPageText属性
- NumericPagerItemCount属性
- NumericPagerItemTemplate属性
- OnPageIndexError属性
- PageIndexBoxId属性
- PageIndexOutOfRangeErrorMessage属性
- PageIndexParameterName属性
- PageNumberFormatString属性
- PagerItemTemplate属性
- PrevPageText属性
- RouteName属性
- RouteValues属性
- ShowDisabledPagerItems属性
- ShowFirstLast属性
- ShowMorePagerItems属性
- ShowNumericPagerItems属性
- ShowPrevNext属性
- PagerItemsPosition 枚举
- PagerOptionsBuilder 类
- ScriptResourceExtensions 类
- Javascript API
- AjaxPager.cs
- AjaxPagerTest.cs
- DataLoaderBuilder.cs
- DisplayNameExtensions.cs
- HtmlPager.cs
- HtmlPagerTest.cs
- IPagedList.cs
- MvcAjaxOptions.cs
- MvcAjaxOptionsBuilder.cs
- MvcPager.js
- PagedList.cs
- PagedListTest.cs
- PageLinqExtensions.cs
- PagerBuilder.cs
- PagerExtensions.cs
- PagerItem.cs
- PagerItemsPosition.cs
- PagerOptions.cs
- PagerOptionsBuilder.cs
- ScriptResourceExtensions.cs
- TestHelper.cs
MvcPager 分页示例 — Javascript API应用(HtmlPager)
本示例演示如何隐藏MvcPager控件(HtmlPager),使用客户端Javascript API构建自定义的分页导航元素。
| 序号 | 文章标题 | 作者 | 文章来源 |
|---|---|---|---|
| 1 | 吴起热线微信公众号上线 | Webdiyer | 吴起热线 |
| 2 | 再到吴起观“绿海” | Webdiyer | 吴起热线 |
| 3 | 吴起:从贫困县到全国百强 | Webdiyer | 吴起热线 |
| 4 | 吴起县铁边城入围全省31个文化旅游名镇 | Webdiyer | 吴起热线 |
| 5 | 吴起特色养殖成农民致富首选 | Webdiyer | 吴起政府网 |
转到第
页
View:
@model PagedList<article>
@Html.Partial("_ArticleTable")
@Html.Pager(Model).Options(o=>o.SetPageIndexParameterName("id").HidePagerItems().SetPageIndexBoxId("pageIndexBox"))
<div class="row">
<div class="col-md-8">
<div class="btn-group" role="group" aria-label="Mvcpager group">
<div class="btn-toolbar" role="toolbar" aria-label="Pager items button groups">
<div class="btn-group" role="group" aria-label="First prev group">
<a id="firstbtn" class="btn btn-sm btn-default"><i class="glyphicon glyphicon-fast-backward"></i></a>
<a id="prevbtn" class="btn btn-sm btn-default"><i class="glyphicon glyphicon-backward"></i></a>
</div>
<div class="btn-group" role="group" aria-label="Numeric pager items group" id="btngroup">
</div>
<div class="btn-group" role="group" aria-label="Last next group">
<a id="nextbtn" class="btn btn-sm btn-default"><i class="glyphicon glyphicon-forward"></i></a>
<a id="lastbtn" class="btn btn-sm btn-default"><i class="glyphicon glyphicon-fast-forward"></i></a>
</div>
</div>
</div>
</div>
<div class="col-md-4">
<div class="input-group pull-right">
<span class="input-group-addon">转到第</span>
<select id="pageIndexBox" class="form-control input-sm"></select>
<span class="input-group-addon">页</span>
</div>
</div>
</div>
@section scripts
{
@{Html.RegisterMvcPagerScriptResource();}
<script type="text/javascript">
$(function () {
var pager = Webdiyer.MvcPagers[0];
if (pager != null) {
var pageItems = 8;
var startIndex = pager.currentPageIndex - (pageItems / 2);
if (startIndex + pageItems > pager.pageCount)
startIndex = pager.pageCount + 1 - pageItems;
if (startIndex < 1)
startIndex = 1;
var endIndex = startIndex + pageItems - 1;
if (endIndex > pager.pageCount)
endIndex = pager.pageCount;
if (startIndex > 1) {
$("#btngroup").append('<button type="button" data-page="' + (startIndex - 1) + '" class="btn btn-sm btn-default"><i class="glyphicon glyphicon-option-horizontal"></i></button>');
}
for (var i = startIndex; i <= endIndex; i++) {
if (i == pager.currentPageIndex) {
$("#btngroup").append('<button type="button" class="btn btn-sm btn-primary">' + i + '</button>');
} else {
$("#btngroup").append('<button type="button" data-page="' + i + '" class="btn btn-sm btn-default">' + i + '</button>');
}
}
if (endIndex < pager.pageCount) {
$("#btngroup").append('<button type="button" data-page="' + (endIndex + 1) + '" class="btn btn-sm btn-default"><i class="glyphicon glyphicon-option-horizontal"></i></button>');
}
$("#btngroup button[data-page]").click(function () {
pager.goToPage($(this).data("page"));
});
if (pager.currentPageIndex <= 1) {
$("#firstbtn, #prevbtn").addClass("disabled");
} else {
$("#firstbtn").click(function () { pager.goToPage(1); });
$("#prevbtn").click(function () { pager.goToPage(pager.currentPageIndex - 1); });
}
if (pager.currentPageIndex == pager.pageCount) {
$("#nextbtn, #lastbtn").addClass("disabled");
} else {
$("#nextbtn").click(function () { pager.goToPage(pager.currentPageIndex + 1); });
$("#lastbtn").click(function () { pager.goToPage(pager.pageCount); });
}
}
});
</script>
}
_AjaxPagerHidden.cshtml:
@model PagedList<article>
@{ Html.RenderPartial("_ArticleTable"); }
@Ajax.Pager(Model, new PagerOptions { PageIndexParameterName = "id",HidePagerItems = true,PageIndexBoxId = "pageIndexBox"}).AjaxOptions(a => a.SetUpdateTargetId("articles").SetOnComplete("bindPagerItems"))
Controller:
public ActionResult CustomizeHtmlPager(int id = 1)
{
using (var db = new DataContext())
{
return View(db.Articles.OrderByDescending(a => a.PubDate).ToPagedList(id, 5));
}
}