public JsonResult StudentInfoList([FromBody] QueryParameters query) { ResultState resultState = CheckCookie(); if (resultState.Code == 2) { int count = _context.students.Count(); List <Student> studentsInCurrentList = new List <Student>(); //初始化用户表 PageInfoList pageStudents = new PageInfoList(); pageStudents.items = studentsInCurrentList; pageStudents.count = count; pageStudents.pageIndex = query.PageIndex; pageStudents.pageSize = query.PageSize; //查询 if (query.PageIndex <= 0) { studentsInCurrentList = _context.students.Take(query.PageSize).ToList(); pageStudents.items = studentsInCurrentList; pageStudents.pageIndex = 1; } else if ((query.PageSize * query.PageIndex) <= count) { studentsInCurrentList = _context.students.Skip(query.PageSize * (query.PageIndex - 1)) .Take(query.PageSize).ToList(); pageStudents.items = studentsInCurrentList; } else if ((query.PageSize * query.PageIndex) > count && count % query.PageSize == 0) { studentsInCurrentList = _context.students.Skip(count - query.PageSize).Take(query.PageSize).ToList(); pageStudents.items = studentsInCurrentList; //count超过最后一页,count / query.PageSize可以整除的情况 pageStudents.pageIndex = count / query.PageSize; } else { studentsInCurrentList = _context.students.Skip(count - count % query.PageSize).Take(count % query.PageSize).ToList(); pageStudents.items = studentsInCurrentList; //count超过最后一页,pageIndex为最后一页count / query.PageSize一定不是整数 pageStudents.pageIndex = (count / query.PageSize) + 1; } resultState.Success = true; resultState.Message = "查询成功"; resultState.value = pageStudents; } return(new JsonResult(resultState)); }
public async Task <JsonResult> CourseList([FromBody] QueryParameters query) { PageInfoList pageInfoList = new PageInfoList(); int count = _context.Courses.AsNoTracking().Count(); pageInfoList.count = count; pageInfoList.pageIndex = query.PageIndex; pageInfoList.pageSize = query.PageSize; if (query.PageIndex <= 0) { var item = await _context.Courses.Take(query.PageSize).ToListAsync(); pageInfoList.items = item; pageInfoList.pageIndex = 1; } else if (query.PageSize * query.PageIndex <= pageInfoList.count) { var item = await _context.Courses.AsNoTracking().Skip((query.PageIndex - 1) * query.PageSize).Take(query.PageSize).ToListAsync(); pageInfoList.items = item; } else { if (count % query.PageSize == 0) { var item = await _context.Courses.AsNoTracking().Skip(count - query.PageSize).Take(query.PageSize).ToListAsync(); pageInfoList.items = item; pageInfoList.pageIndex = count / query.PageSize; } else { var item = await _context.Courses.AsNoTracking().Skip(count - count % query.PageSize).Take(query.PageSize).ToListAsync(); pageInfoList.items = item; pageInfoList.pageIndex = count / query.PageSize + 1; } } return(new JsonResult(pageInfoList)); }