// GET: Person public async Task <IActionResult> Index(string sortOrder, string currentFilter, string searchString, int?page) { var user = User.Identity.Name; if (user == null) { return(RedirectToAction(nameof(Index), "Home")); } var username = _userManager.FindByNameAsync(user).Result; var temp = username.PhoneNumber; if (user == null || (temp != "kcct" && temp != "qnop")) { return(RedirectToAction(nameof(Index), "Home")); } ViewData["CurrentSort"] = sortOrder; ViewData["DepartmentIDSortParam"] = sortOrder == "Date" ? "date_dec" : "Date"; if (searchString != null) { page = 1; } else { searchString = currentFilter; } ViewData["CurrentFilter"] = searchString; var persons = from p in _context.Persons select p; if (!String.IsNullOrEmpty(searchString)) { persons = persons.Where(p => p.PersonName.Contains(searchString)); } switch (sortOrder) { case "Date": persons = persons.OrderBy(p => p.DepartmentId); break; case "date_dec": persons = persons.OrderByDescending(p => p.DepartmentId); break; default: persons = persons.OrderBy(p => p.DepartmentId); break; } int pageSize = 5; if (page < 1) { page = 1; } return(View(await SelectList <Person> .CreateAsync(persons.AsNoTracking(), page ?? 1, pageSize))); //return View(await persons.AsNoTracking().ToListAsync()); //return View(await _context.Persons.ToListAsync()); }
// GET: Names /* * sortOrder:排序的方法:name_des、date_des、Date * searchString:搜索字符 * page:页码 * currentFilter:中间值作用,刷新时重新还原到对话框中 */ public async Task <IActionResult> Index(string sortOrder, string currentFilter, string searchString, int?page) { var user = User.Identity.Name; if (user == null) { return(RedirectToAction(nameof(Index), "Home")); } var username = _userManager.FindByNameAsync(user).Result; var temp = username.PhoneNumber; if (username == null || (temp != "kcct" && temp != "qnop" && temp != "itfu")) { return(RedirectToAction(nameof(Index), "Home")); } ViewData["CurrentSort"] = sortOrder; ViewData["NameSortParm"] = String.IsNullOrEmpty(sortOrder) ? "name_des" : " "; ViewData["DataSortParm"] = sortOrder == "Date" ? "date_des" : "Date"; if (searchString != null) { page = 1; } else { searchString = currentFilter; } ViewData["CurrentFilter"] = searchString; var names = from n in _context.Names select n; if (!String.IsNullOrEmpty(searchString)) { names = names.Where(n => n.Goods.Contains(searchString)); } switch (sortOrder) { case "name_des": names = names.OrderByDescending(n => n.number); break; case "Date": names = names.OrderBy(n => n.EnrollmentDate); break; case "date_des": names = names.OrderByDescending(n => n.EnrollmentDate); break; default: names = names.OrderBy(n => n.number); break; } int pageSize = 5; if (page < 1) { page = 1; } //return View(await _context.Names.ToListAsync()); //return View(await names.AsNoTracking().ToListAsync()); return(View(await SelectList <Name> .CreateAsync(names.AsNoTracking(), page ?? 1, pageSize))); }