Intro
一个WEB应用程序中经常会用到数据分页,本文将实现一个简单通用的分页组件,包含一个 PagerModel (用来保存页码信息),一个 HtmlHelper 的 Pager 扩展方法和一个 PagedListModel<T> 分页数据模型。
pager效果图如下:
PagerModel 分页模型
PagerModel 用来保存分页信息,代码实现如下:
1 /// <summary> 2 /// PagerModel 分页模型 3 /// </summary> 4 public class PagerModel 5 { 6 public int PageIndex { get; set; } 7 8 public int PageSize { get; set; } 9 10 public int PageCount { get; private set; } 11 12 public int TotalCount { get; set; } 13 14 public PagerModel(int totalCount) 15 { 16 PageIndex = 1; 17 PageSize = 10; 18 TotalCount = totalCount; 19 PageCount = Convert.ToInt32(Math.Ceiling(TotalCount * 1.0 / PageSize)); 20 } 21 22 public PagerModel(int pageSize, int totalCount) 23 { 24 PageIndex = 1; 25 PageSize = pageSize; 26 TotalCount = totalCount; 27 PageCount = Convert.ToInt32(Math.Ceiling(TotalCount * 1.0 / PageSize)); 28 } 29 30 public PagerModel(int pageIndex, int pageSize, int totalCount) 31 { 32 PageIndex = pageIndex; 33 PageSize = pageSize; 34 TotalCount = totalCount; 35 PageCount = Convert.ToInt32(Math.Ceiling(TotalCount * 1.0 / PageSize)); 36 } 37 }