public ActionResult Index(string searchString, string currentFilter, int?pageSize, int?page) { int topicsPerPage = (pageSize ?? 3); int pageNumber = (page ?? 1); var topics = topicBO.Get().Result; var model = new TopicListViewModel { PageSize = topicsPerPage, PageSizeList = new SelectList(new int[] { 3, 5, 10 }), PagedTopics = topics.ToPagedList(pageNumber, topicsPerPage) }; if (searchString != null) { page = 1; } else { searchString = currentFilter; } ViewBag.CurrentFilter = searchString; if (!string.IsNullOrEmpty(searchString)) { model.PageSize = topicsPerPage; model.PagedTopics = topics.Where(t => t.User.Name.Contains(searchString) || t.Title.Contains(searchString)).ToPagedList(pageNumber, topicsPerPage); } return(View(model)); }