public IActionResult UserList([FromQuery] JqGridParameter jqGridParameter) { var usersQuery = _userManager.Users.AsNoTracking(); if (jqGridParameter._search == "true") { usersQuery = usersQuery.Where(BuildWhere <ApplicationUser>(jqGridParameter.FilterObject, null)); } var users = usersQuery .Include(u => u.UserRoles) .ThenInclude(ur => ur.Role) .OrderBy(u => u.OrderNumber) .ToPagedList(jqGridParameter.Page, jqGridParameter.Rows); return(new JsonResult( new { rows = users.Select(u => _mapper.Map <ApplicationUserDto>(u)), total = users.PageCount, //总页数 page = users.PageNumber, //当前页码 records = users.TotalItemCount //总记录数 } )); }
public async Task <IActionResult> OnGetUserListAsync([FromQuery] JqGridParameter jqGridParameter) { var usersQuery = _userManager.Users.AsNoTracking(); if (jqGridParameter._search == "true") { usersQuery = usersQuery.Where(BuildWhere <ApplicationUser>(jqGridParameter.FilterObject, null)); } var users = usersQuery.Include(u => u.UserRoles).ThenInclude(ur => ur.Role).OrderBy(u => u.OrderNumber) .Skip((jqGridParameter.Page - 1) * jqGridParameter.Rows).Take(jqGridParameter.Rows).ToList(); var userCount = usersQuery.Count(); var pageCount = Ceiling((double)userCount / jqGridParameter.Rows); return(new JsonResult( new { rows //数据集合 = users.Select(u => new { u.UserName, u.Sex, u.Email, u.PhoneNumber, u.EmailConfirmed, u.PhoneNumberConfirmed, u.CreationTime, u.CreationUserId, u.IsEnable, u.LastModificationTime, u.LastModificationUserId, u.OrderNumber, u.RowVersion, //以下为JqGrid中必须的字段 u.Id //记录的唯一标识,可在插件中配置为其它字段,但是必须能作为记录的唯一标识用,不能重复 }), total = pageCount, //总页数 page = jqGridParameter.Page, //当前页码 records = userCount //总记录数 } )); }