zoukankan      html  css  js  c++  java
  • 适用于多种查询结果集的分页(不要存储过程,简单易懂)

     1 //==================这是用的API====================
     2         //分页查询
     3         [Route("api/page")]
     4         [HttpGet]
     5         public PageModel GetPage(int pagesize = 3, int pageindex = 1, string coupontype = "", string couponname = "", int state = 2)
     6         {
     7             if (pageindex < 1)//正确传入页码
     8             {
     9                 pageindex = 1;
    10             }
    11             //查询出所有数据
    12             List<GetrecordModel> list = getbll.GetGetrecords();
    13             //判断该集合是否为空
    14             if (list != null && list.Count > 0)
    15             {
    16                 //根据条件进行判断
    17                 if (!string.IsNullOrEmpty(coupontype))
    18                 {
    19                     list = list.Where(s => s.CouponType == coupontype).ToList();
    20                 }
    21                 if (!string.IsNullOrEmpty(couponname))
    22                 {
    23                     list = list.Where(s => s.CouponName == couponname).ToList();
    24                 }
    25                 if (state == 1 || state == 0)
    26                 {
    27                     list = list.Where(s => s.State == state).ToList();
    28                 }
    29             }
    30             int count = list.Count;//获取查询后的总条数
    31             int page;//用来存储页数变量
    32             //计算页数
    33             if (count % pagesize == 0)
    34             {
    35                 page = count / pagesize;
    36             }
    37             else
    38             {
    39                 page = count / pagesize + 1;
    40             }
    41             if (pageindex > page)//正确传入页码
    42             {
    43                 pageindex = page;
    44             }
    45             //分页显示
    46             list = list.Skip((pageindex - 1) * pagesize).Take(pagesize).ToList();
    47 
    48             //定义一个PageModel存储分页后的数据以及页码、页数、总页数
    49             var m = new PageModel();
    50             m.list = list;
    51             m.PageIndex = pageindex;
    52             m.TotalCount = count;
    53             m.TotalPage = page;
    54             return m;
    55         }
  • 相关阅读:
    字节对齐方法
    以太网帧、IP报文格式
    单光纤udp通信
    错误笔记(1)——关于克隆虚拟机引发的后续问题
    linux 查看目录名称的方法
    rpm方式安装MySQL-5.6
    克隆虚拟机后修改MAC地址
    安卓反编译一些记录
    mysql日志
    Linux文件监控工具——inotify-tools
  • 原文地址:https://www.cnblogs.com/alives/p/13072508.html
Copyright © 2011-2022 走看看