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 }