- 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 分页示例 — 实现IPagedList接口
该示例演示如何通过实现IPagedList<T>接口而不是使用内建的PagedList<T>来自下定义分页数据对象。
View:
@model MyPagedList<int>
<table class="table table-bordered table-striped">
@foreach (var itm in Model.PagedItems)
{
<tr><td>@itm</td></tr>
}
</table>
@Html.Pager(Model,new PagerOptions{PageIndexParameterName = "id",PagerItemTemplate = "{0} "})
Model:
public class MyPagedList<t> :IPagedList<t>
{
public MyPagedList(IEnumerable<t> currentPageItems,int pageIndex, int pageSize, int totalItemCount)
{
CurrentPageIndex = pageIndex;
PageSize = pageSize;
TotalItemCount = totalItemCount;
PagedItems = currentPageItems.ToList();
}
public MyPagedList(IEnumerable<t> allItems, int pageIndex, int pageSize)
{
CurrentPageIndex = pageIndex;
PageSize = pageSize;
var items = allItems as IList<t> ?? allItems.ToList();
TotalItemCount = items.Count();
int startIndex = (pageIndex - 1)*pageSize;
PagedItems = items.Skip(startIndex).Take(pageSize).ToList();
}
public List<t> PagedItems { get; set; }
public int CurrentPageIndex { get; set; }
public int PageSize { get; set; }
public int TotalItemCount { get; set; }
public IEnumerator<t> GetEnumerator()
{
return PagedItems.GetEnumerator();
}
IEnumerator IEnumerable.GetEnumerator()
{
return GetEnumerator();
}
}
Controller:
public ActionResult IPagedList(int id=1)
{
MyPagedList<int> list=new MyPagedList<int>(Enumerable.Range(1,88),id,5);
return View(list);
}