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

每次读取分页列表记录,都要把“当前页码”、“每页显示多少条记录数”和“总记录数”返回,调用函数的时候过于麻烦,一直以来都是用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> { }

PagedList类

/// <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; }
}

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

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值