public ActionResult Index(CustomerListViewModel model) { var query = db.Customers.AsQueryable(); if (!string.IsNullOrWhiteSpace(model.SearchParameter.CompanyName)) query = query.Where(x => x.CompanyName.Contains(model.SearchParameter.CompanyName)); if (!string.IsNullOrWhiteSpace(model.SearchParameter.ContactName)) query = query.Where(x => x.ContactName.Contains(model.SearchParameter.ContactName)); if (!string.IsNullOrWhiteSpace(model.SearchParameter.Country)) query = query.Where(x => x.Country.Contains(model.SearchParameter.Country)); query = query.OrderBy(x => x.CustomerID); int currPage = model.PageIndex < 1 ? 1 : model.PageIndex; var result = new CustomerListViewModel { SearchParameter = model.SearchParameter, PageIndex = currPage, Customers = query.ToPagedList(currPage,pageSize), CountryList = new SelectList(this.Countries,"CountryID","CountryName") }; return View(result); }
// GET: Customers public ActionResult Index(int page=1) { int currPage = page < 1 ? 1 : page; var r = _repoCustomer.GetCustomerList().ToPagedList(currPage, pageSize); var model = new CustomerListViewModel { SearchParameter = new CustomerSearchModel(), PageIndex = currPage, Customers = r, CountryList = new SelectList(this.Countries,"CountryID","CountryName") }; return View(model); }