ASP.NET MVC4自定义分页

    /// <summary>
    /// 页面分页数据显示
    /// </summary>
    public interface IDataResponse
    {
        /// <summary>
        /// 总记录数
        /// </summary>
        int TotalCount { get; }

        /// <summary>
        /// 每页记录数
        /// </summary>
        int PageSize { get; }

        /// <summary>
        /// 总页数
        /// </summary>
        int TotalPage { get; }

        /// <summary>
        /// 当前页
        /// </summary>
        int PageIndex { get; }

        /// <summary>
        /// 是否有上一页
        /// </summary>
        bool HasPrevious { get; }

        /// <summary>
        /// 是否有下一页
        /// </summary>
        bool HasNext { get; }

        /// <summary>
        /// 是否分页
        /// </summary>
        bool IsPage { get; }

    }

    public class DataResponse<T>:IDataResponse
    {
        /// <summary>
        /// 总记录数
        /// </summary>
        private int totalCount;
        public int TotalCount
        {
            get { return totalCount; }
            set
            {
                if (value < 0)
                    totalCount = 0;
                else
                    totalCount = value;
            }
        }

        /// <summary>
        /// 是否分页
        /// </summary>
        private bool isPage = false;
        public bool IsPage
        {
            get { return isPage; }
            set { isPage = value; }
        }

        /// <summary>
        /// 每页记录数
        /// </summary>
        private int pageSize;
        public int PageSize
        {
            get { return pageSize; }
            set
            {
                if (value <= 0)
                    pageSize = 10;
                else
                    pageSize = value;
            }
        }

        /// <summary>
        /// 总页数
        /// </summary>
        public int TotalPage
        {
            get
            {
                if (TotalCount == 0)
                    return 1;
                if (TotalCount % PageSize == 0)
                    return TotalCount / PageSize;
                else
                    return TotalCount / PageSize + 1;
            }
        }

        /// <summary>
        /// 当前页码
        /// </summary>
        private int pageIndex;
        public int PageIndex
        {
            get { return pageIndex; }
            set
            {
                if (value <= 0)
                    pageIndex = 1;
                else if (value > TotalPage)
                    pageIndex = TotalPage;
                else
                    pageIndex = value;
            }
        }

        /// <summary>
        /// 是否有上一页
        /// </summary>
        public bool HasPrevious
        {
            get
            {
                if (PageIndex == 1)
                    return false;
                return true;
            }
        }

        /// <summary>
        /// 是否有下一页
        /// </summary>
        public bool HasNext
        {
            get
            {
                if (PageIndex != TotalPage)
                    return true;
                return false;
            }
        }

        /// <summary>
        /// 用于返回实际保存的结果
        /// </summary>
        private List<T> dataList;
        public List<T> DataList
        {
            get { return dataList; }
            set { dataList = value; }
        }

        public DataResponse()
        {
            TotalCount = 0;
            PageSize = 10;
            PageIndex = 1;
            DataList = new List<T>(0);
        }
    }

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值