通用分页请求返回类

using System.Runtime.Serialization;

    /// <summary>
    /// 通用分页请求类
    /// </summary>
    [DataContract]
    public class PagedListModelReq : Request
    {
        /// <summary>
        /// <strong>Initializes a new instance of the <see cref="</strong>OperationLogReq<strong>" /> class</strong>
        /// OperationLogReq
        /// </summary>
        public PagedListModelReq()
        {
            this.PageIndex = 1;
            this.PageSize = 15;
        }

        /// <summary>
        /// 索引开始
        /// </summary>
        [DataMember]
        public int StartIndex
        {
            get
            {
                int index = 0;
                if (this.PageSize > 0 && this.PageIndex > 0)
                {
                    index = ((this.PageIndex - 1) * this.PageSize) + 1;
                }

                return index;
            }
        }

        /// <summary>
        /// 索引结束
        /// </summary>
        [DataMember]
        public int EndIndex
        {
            get
            {
                int index = 1;
                if (this.PageSize > 0 && this.PageIndex > 0)
                {
                    index = this.PageIndex * this.PageSize;
                }

                return index;
            }
        }

        /// <summary>
        /// 分页大小
        /// </summary>
        [DataMember]
        public int PageSize { get; set; }

        /// <summary>
        /// 第几页数
        /// </summary>
        [DataMember]
        public int PageIndex { get; set; }

        /// <summary>
        /// Called when [deserialized].
        /// </summary>
        /// <param name="context">StreamingContext</param>
        [OnDeserialized]
        private void OnDeserialized(StreamingContext context)
        {
            if (this.PageIndex <= 0)
            {
                this.PageIndex = 1;
            }

            if (this.PageSize <= 0)
            {
                this.PageSize = 15;
            }
        }
    }

    /// <summary>
    /// 通用分页请求类
    /// </summary>
    /// <typeparam name="T">Poco类型</typeparam>
    [DataContract]
    public class PagedListModelReq<T> : Request
    {
        /// <summary>
        /// <strong>Initializes a new instance of the <see cref="</strong>OperationLogReq<strong>" /> class</strong>
        /// OperationLogReq
        /// </summary>
        public PagedListModelReq()
        {
            this.PageIndex = 1;
            this.PageSize = 15;
        }

        /// <summary>
        /// 索引开始
        /// </summary>
        [DataMember]
        public int StartIndex
        {
            get
            {
                int index = 0;
                if (this.PageSize > 0 && this.PageIndex > 0)
                {
                    index = ((this.PageIndex - 1) * this.PageSize) + 1;
                }

                return index;
            }
        }

        /// <summary>
        /// 索引结束
        /// </summary>
        [DataMember]
        public int EndIndex
        {
            get
            {
                int index = 1;
                if (this.PageSize > 0 && this.PageIndex > 0)
                {
                    index = this.PageIndex * this.PageSize;
                }

                return index;
            }
        }

        /// <summary>
        /// 分页大小
        /// </summary>
        [DataMember]
        public int PageSize { get; set; }

        /// <summary>
        /// 第几页数
        /// </summary>
        [DataMember]
        public int PageIndex { get; set; }

        /// <summary>
        /// Called when [deserialized].
        /// </summary>
        /// <param name="context">序列化的上下文</param>
        [OnDeserialized]
        private void OnDeserialized(StreamingContext context)
        {
            if (this.PageIndex <= 0)
            {
                this.PageIndex = 1;
            }

            if (this.PageSize <= 0)
            {
                this.PageSize = 15;
            }
        }
    }
    [Serializable]
    [DataContract]
    public class PagedResult<T> : IPagedResult<T>
    {
        protected PagedResult();
        public PagedResult(IList<T> source, int pageIndex, int pageSize);
        public PagedResult(IQueryable<T> source, int pageIndex, int pageSize);
        public PagedResult(IEnumerable<T> source, int pageIndex, int pageSize, int totalCount);

        [DataMember]
        public bool HasNextPage { get; }
        [DataMember]
        public bool HasPreviousPage { get; }
        [DataMember]
        public IEnumerable<T> Items { get; }
        [DataMember]
        public int PageIndex { get; }
        [DataMember]
        public int PageSize { get; }
        [DataMember]
        public int TotalCount { get; }
        [DataMember]
        public int TotalPages { get; }
    }
/// <summary>
    /// 通用分页返回类
    /// </summary>
    /// <typeparam name="T">Model对应的类型</typeparam>
    [DataContract]
    public class PagedListModelResp<T> : Response
    {
        /// <summary>
        /// 返回分页数据
        /// </summary>
        [DataMember]
        public PagedResult<T> List { get; set; }
    }

原文地址:https://www.cnblogs.com/zhshlimi/p/9072918.html

时间: 2024-10-10 02:14:51

通用分页请求返回类的相关文章

HTTP请求返回类

在学习<构建具有CRUD功能的ASP.NET Web API>一文中,通过产品ID获得产品信息的方法如下: 1 public Product GetProduct(int id) 2 { 3 Product item = repository.Get(id); 4 if (item == null) 5 { 6 throw new HttpResponseException(HttpStatusCode.NotFound); 7 } 8 return item; 9 } 但在调试过程中,若查出

一个通用分页类

1.功能 这个通用分页类实现的功能是输入页数(第几页)和每页的数目,就能获得相应的数据. 2.实现原理 分页的实现通常分为两种,一种是先把数据全查询出来再分页,一种是需要多少查询多少,这里使用第二种,所以就需要先实现在dao层能够查询一定范围内的数据,这里就实现通过id作为键值,查询一定范围内的数据的功能 dao层需要实现一个返回id在一个范围内的数据,那就在dao层的接口中添加一个这个方法: List<User> selectByRange(@Param("low") I

SpringBoot 通用返回类设计

在项目中通常需要为前端设计通过的返回类,返回的格式为: { "status": "success", "data": {...} } 定义通过返回类:CommonReturnType /** * 通用返回结果类 * 包含请求结果 status : "success" or "failed" * 包含请求数据 data : {} */ public class CommonReturnType { // 表明

ibernate学习笔记5---实体类或属性名与数据库关键字冲突、hql命名参数、hql实现通用分页

一.实体类或属性名与数据库关键字冲突问题1.实体类名与数据库中的关键字冲突比如:实体表User与oracle中的系统表冲突解决方式1:在xml中添加table属性,指定表名,使其不与name默认相等 [html] view plaincopyprint? <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hiber

PHP通用分页(Pager)类

三种不同展示方式 附上style~ 1. 效果图1 2.效果图2  3. 效果图3 4. 分页类主体 <?php /** * PHP通用分页类 * * show(2) 1 ... 62 63 64 65 66 67 68 ... 150 * 分页样式 * #page{font:12px/16px arial} * #page span{float:left;margin:0px 3px;} * #page a{float:left;margin:0 3px;border:1px solid #d

通用分页工具类

一.本工具与数据库.框架.展现层无关.代码如下: /** * 用于分页的工具类 */ public class Pager<T> { private List<T> list = new ArrayList<T>(); //对象记录结果集 private int total = 0; // 总记录数 private int pageSize = 10; // 每页显示记录数 private int pageCount = 1; // 总页数 private int pa

JSP通用分页框架

写一个通用的分页框架,这样一个项目里面如果想做分页,只需要改动少数参数就可以实现分页处理了,这样写起来会简单很多 一.分页类 既然要分页那么我们就要考虑建一个通用的分页类,里面需要的参数一般有: 总页数 totalPage 总共记录数 totalRecord 每页显示数 pageSize 当前页pageIndex 承载当前页数据的集合 List datas 完整代码:Page.java import java.util.List; public class Pager<E> { /** * 总

通用分页(一)

通用分页核心思路: 将上一次查询请求再发一次,只是当前页变了而已. 首页 1 2 3 4 … 100 末页 跳转 MySQL分页:select * from 表 limit 3,3 每页显示记录数 自己设置 当前页 来自前端 总页数 总记录数%每页显示记录数==0?总记录数/每页显示记录数:总记录数/每页显示记录数+1 总记录数 数据库统计count() 每页起始记录数   =(当前页-1)*每页显示记录数+1 总共101条记录,每页显示10条 第一页: 1-10 第二页: 11-20 第三页:

JS实现移动端下拉刷新更多分页请求功能方法2.0

本次2.0升级版为js实现移动端加载更多下拉刷新更多分页请求功能方法(数据一次请求,前端分页,适用于数据流量较少,数据量压力小的页面)同时新增loading组件,turnToTop组件. 本文原创非转载,如需转载请注明出处:http://www.cnblogs.com/A-QBlog/p/7068959.html 废话不多说,直接上代码: 1 ;(function (w, $) { 2 3 var loadmore = { 4 /*单页加载更多 通用方法 5 * 6 * @param callb