public ActionResult NewsIndexot(string sortOrder, string sortName, string sortGroup, int?page, string currentNewsCodeFilter, string currentNewsNameFilter, string Newsname, string currentGroupNewsFilter, string GroupNews, string currentNewsAmount) { if (Request.HttpMethod == "GET") { Newsname = currentNewsNameFilter; GroupNews = currentGroupNewsFilter; } else { page = 1; } ViewBag.CurrentNewsNameFilter = Newsname; ViewBag.currentGroupNewsFilter = GroupNews; ViewBag.CurrentSortOrder = sortOrder; ViewBag.SortOrderParm = sortOrder == "ord asc" ? "ord desc" : "ord asc"; // Sort Name (Truyền sortName khi phân trang) if (sortName != "") { ViewBag.CurrentSortName = sortName; ViewBag.SortNameParm = sortName == "name asc" ? "name desc" : "name asc"; } // Sort Name (Truyền sortName khi sắp xếp) if (Session["sortName"] != null) { sortName = Session["sortName"].ToString(); ViewBag.CurrentSortName = Session["sortName"].ToString(); Session["sortName"] = null; } ViewBag.SortNameParm = sortName == "name asc" ? "name desc" : "name asc"; ViewBag.CurrentSortGroup = sortGroup; ViewBag.SortGroupParm = sortGroup == "group asc" ? "group desc" : "group asc"; string Lang = Session["Lang"].ToString(); var all = db.sp_News_GetByAll(Lang).OrderByDescending(p => p.Id).ToList(); #region [Tìm kiếm] // Tìm theo tên Tin tức if (!String.IsNullOrEmpty(Newsname)) { if (Newsname != "Tiêu đề tin") { all = all.Where(p => p.Name.ToUpper().Contains(Newsname.ToUpper())).OrderByDescending(p => p.Id).ToList(); } } // Tìm theo nhóm Tin tức if (!String.IsNullOrEmpty(GroupNews)) { int groupid = Int32.Parse(GroupNews); all = all.Where(p => p.IdGroup == groupid).OrderByDescending(p => p.Id).ToList(); } if (Session["Namesearch"] != null) { all = all.Where(p => p.Name.ToUpper().Contains(Session["Namesearch"].ToString().ToUpper())).OrderByDescending(p => p.Id).ToList(); } if (Session["GroupNews"] != null) { if (Session["Namesearch"] != null) { all = all.Where(p => p.IdGroup == int.Parse(Session["GroupNews"].ToString()) && p.Name.ToUpper().Contains(Session["Namesearch"].ToString().ToUpper())).OrderByDescending(p => p.Id).ToList(); } else { all = all.Where(p => p.IdGroup == int.Parse(Session["GroupNews"].ToString())).OrderByDescending(p => p.Id).ToList(); } Session["GroupNews"] = null; } if (Session["Namesearch"] != null) { Session["Namesearch"] = null; } #endregion #region [Sắp xếp] switch (sortOrder) { case "ord desc": all = all.OrderByDescending(p => p.Ord).ToList(); break; case "ord asc": all = all.OrderBy(p => p.Ord).ToList(); break; default: break; } switch (sortName) { case "name desc": all = all.OrderByDescending(p => p.Name).ToList(); break; case "name asc": all = all.OrderBy(p => p.Name).ToList(); break; default: break; } #endregion if (Session["DeletePro"] != null) { var a = Session["DeletePro"].ToString(); ViewBag.DelErr = "<p class='require'>" + a + "</p>"; Session["DeletePro"] = null; } int pageSize = 20; if (currentNewsAmount != null && currentNewsAmount != "") { pageSize = Convert.ToInt32(currentNewsAmount); } int pageNumber = (page ?? 1); #region [Get Last Page] if (page != null) { ViewBag.mPage = (int)page; } else { ViewBag.mPage = 1; } int lastPage = all.Count / pageSize; if (all.Count % pageSize > 0) { lastPage++; } ViewBag.LastPage = lastPage; ViewBag.PageSize = pageSize; #endregion #region [view drop search] var cat = db.GroupNews.Where(n => n.Active == true).ToList(); for (int i = 0; i < cat.Count; i++) { ViewBag.GroupNews = new SelectList(cat, "Id", "Name"); } #endregion #region [Số Tin tức hiển thị trên trang] // Số Tin tức hiển thị trên trang List <SelectListItem> items = new List <SelectListItem>(); for (int i = 10; i <= 100; i += 10) { if (i == pageSize) { items.Add(new SelectListItem { Text = i + " Tin tức / trang", Value = i + "", Selected = true }); } else { items.Add(new SelectListItem { Text = i + " Tin tức / trang", Value = i + "" }); } } ViewBag.ddlNewsAmount = items; #endregion ViewBag.TotalNews = db.News.Where(x => x.Lang == Lang).Count(); // Phân trang PagedList <sp_News_GetByAll_Result> Newss = (PagedList <sp_News_GetByAll_Result>)all.ToPagedList(pageNumber, pageSize); if (Request.IsAjaxRequest()) { return(PartialView("_PartialNewsIndex", Newss)); } return(View(Newss)); }