// GET: /Book/ public ViewResult Index(string sortOrder, string keyword, string CurrentFilter, int?page) { ViewBag.CurrentSort = sortOrder; ViewBag.keyword = keyword; List <SelectListItem> items = Common.getBookTypeItems(); this.ViewData["list"] = items; ViewBag.AmountSortParm = String.IsNullOrEmpty(sortOrder) ? "Amount_desc" : ""; ViewBag.TypeSortParm = String.IsNullOrEmpty(sortOrder) ? "Type_Asc" : ""; ViewBag.CurrAmountSortParm = String.IsNullOrEmpty(sortOrder) ? "CurrAmount_desc" : ""; ViewBag.AddTimeSortParm = sortOrder == "Date" ? "date_desc" : "Date"; IBookDal ibookDao = RepositoryFactory.BookRepository; var books = ibookDao.FindBookList(keyword); switch (sortOrder) { case "Amount_desc": books = books.OrderByDescending(s => s.amount).ToList(); break; case "Type_Asc": books = books.OrderBy(s => s.type).ToList(); break; case "CurrAmount_desc": books = books.OrderByDescending(s => s.currAmount).ToList(); break; case "Date": books = books.OrderBy(s => s.addTime).ToList(); break; case "date_desc": books = books.OrderByDescending(s => s.addTime).ToList(); break; default: books = books.OrderByDescending(s => s.addTime).ToList(); break; } for (int i = 0; i < books.Count(); i++) { var type = books[i].type; books[i].type = Common.GetDisplayName("BookType", type); } int pageSize = 5; int pageNumber = (page ?? 1); return(View(books.ToPagedList(pageNumber, pageSize))); }