您的位置:首页 > 编程语言 > ASP

ASP.NET实现带有分页信息的列表集合IPagedList

2015-09-18 16:09 591 查看
每次读取分页列表记录,都要把“当前页码”、“每页显示多少条记录数”和“总记录数”返回,调用函数的时候过于麻烦,一直以来都是用out返回值的方法来获取此类数值,后来有一次无意中看到国外的一个开源程序NopCommerce中有关于IPagedList类的封装,IPagedList是一个接口,再把分页的信息封装成IPagedList接口的属性,再弄一个PageList实现这个接口,真是好处多多啊。

IPagedList接口

/// <summary>
/// 分页列表接口
/// </summary>
public interface IPagedList
{
int PageIndex { get; }
int PageSize { get; }
int TotalCount { get; }
}

public interface IPagedList<T> : IPagedList, IList<T> { }


[b]PagedList类
[/b]

/// <summary>
/// 分页列表类
/// </summary>
/// <typeparam name="T">实体类型</typeparam>
[Serializable]
public class PagedList<T> : List<T>, IPagedList<T>
{
/// <summary>
/// 默认构造函数,将源数据封装成分页集合
/// </summary>
/// <param name="source">源数据(IList或List泛型集合)</param>
/// <param name="pageIndex">当前第几页</param>
/// <param name="pageSize">每页显示记录数</param>
public PagedList(IList<T> source, int pageIndex, int pageSize, int totalCount)
{
TotalCount = totalCount;
this.PageSize = pageSize;
this.PageIndex = pageIndex;
this.AddRange(source);
}

public int PageIndex { get; private set; }
public int PageSize { get; private set; }
public int TotalCount { get; private set; }
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: