示例#1
0
        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));
        }