public NewsPagingModel NewsPading(List<News> news, PagingSettingModel pagingSettingModel) { var newsSettingModel = new NewsPagingModel(pagingSettingModel); if (news != null) { newsSettingModel.Total = news.Count; if (news.Count > newsSettingModel.PageSize) { var pagingInfo = new PagingInfo("page"); pagingInfo.TotalItems = news.Count; pagingInfo.CurrentPage = newsSettingModel.PageIndex; pagingInfo.ItemsPerPage = newsSettingModel.PageSize; var url = Request.Url.ToString().TrimEnd('/'); if (!url.Contains("?" + pagingSettingModel.PageIndexQueryKeyName)) url += "?" + pagingSettingModel.PageIndexQueryKeyName + "=1"; pagingInfo.RequestUrl = url; pagingInfo.PageQueryStringKeyName = pagingSettingModel.PageIndexQueryKeyName; pagingInfo.ShowAllPages = pagingSettingModel.EnableFullPagingControl; pagingInfo.PageCount = pagingSettingModel.PagingLength; newsSettingModel.Results = news.Skip((pagingInfo.CurrentPage - 1) * pagingInfo.ItemsPerPage).Take(pagingInfo.ItemsPerPage).ToList(); ViewData["PageInfoModel"] = pagingInfo; } else newsSettingModel.Results = news.ToList(); } return newsSettingModel; }
public ProductSettingModel(PagingSettingModel setting) { var uriBuilder = new UriBuilder(HttpContext.Current.Request.Url.ToString()); var query = HttpUtility.ParseQueryString(uriBuilder.Query); if (query != null && setting != null) { this.Keyword = query[setting.KeywordQueryKeyName]; var pageIndex = !string.IsNullOrEmpty(setting.PageIndexQueryKeyName) ? query[setting.PageIndexQueryKeyName] : string.Empty; if (!string.IsNullOrEmpty(pageIndex)) { query.Remove(setting.PageIndexQueryKeyName); uriBuilder.Query = query.ToString(); this.OriginalUrl = uriBuilder.Uri.PathAndQuery; } else this.OriginalUrl = HttpContext.Current.Request.RawUrl; var pageSize = !string.IsNullOrEmpty(setting.PageSizeQueryKeyName) && !string.IsNullOrEmpty(query[setting.PageSizeQueryKeyName]) ? query[setting.PageSizeQueryKeyName] : setting.PageSize.ToString(); int index = 0, size = 0; int.TryParse(pageIndex, out index); this.PageIndex = index > 0 ? index : 1; int.TryParse(pageSize, out size); this.PageSize = size > 0 ? size : 1; } }
public ActionResult ListSupport() { var news = new List<News>(); news = _newService.GetListNewsByCategoryId((int)CategoryNews.Support); var pagingSettingModel = new PagingSettingModel(12); //// var model = NewsPading(news, pagingSettingModel); return View(model); }