// GET: Notice public ActionResult Index(string searchTitle, int?pageSize, int page = 1) { ViewBag.searchTitle = searchTitle; var _notices = from n in db.Notices select n; if (!string.IsNullOrEmpty(searchTitle)) { _notices = _notices.Where(n => n.NoticeTitle.Contains(searchTitle.Trim())); } //定义一个用于显示公告列表的视图模型对象,主要是用于返回不用生成 公告内容的字段,这样会提高系统访问速度; List <NoticeIndexViewModel> noticesIndexViewModels = new List <NoticeIndexViewModel>(); foreach (var item in _notices) { var indexViewModel = new NoticeIndexViewModel(); //直接初始化还要报错,干脆先建立一个对象及引用,再来赋值。 indexViewModel.NoticeID = item.NoticeID; indexViewModel.NoticeTitle = item.NoticeTitle; indexViewModel.AuthorName = item.AuthorName; indexViewModel.PostTime = item.PostTime; indexViewModel.NoticeIsShow = item.NoticeIsShow; indexViewModel.ClickCount = item.ClickCount; indexViewModel.PriorOrder = item.PriorOrder; noticesIndexViewModels.Add(indexViewModel); } //分页 int currentPageSize; if (pageSize == null) { if (Session["pageSize"] != null) { currentPageSize = int.Parse(Session["pageSize"].ToString()); } else { currentPageSize = 10; } } else { currentPageSize = (int)pageSize; } Session["pageSize"] = currentPageSize; ViewBag.PageSize = currentPageSize; ViewBag.Page = page; return(View(noticesIndexViewModels.OrderBy(n => n.PriorOrder).OrderByDescending(n => n.PostTime).ToPagedList(page, currentPageSize))); }
public ActionResult LoginNoticeList() //在登录页面上显示一个分部视图,只能查看标题,不能访问具体内容。 { IQueryable <Notice> _notices = db.Notices.Where(x => x.NoticeIsShow == true).OrderBy(x => x.PriorOrder).OrderBy(x => x.PostTime).Take(6); //定义一个用于显示公告列表的视图模型对象,主要是用于返回不用生成 公告内容的字段,这样会提高系统访问速度; List <NoticeIndexViewModel> noticesIndexViewModels = new List <NoticeIndexViewModel>(); foreach (var item in _notices) { var indexViewModel = new NoticeIndexViewModel { NoticeID = item.NoticeID, NoticeTitle = item.NoticeTitle, PostTime = item.PostTime }; noticesIndexViewModels.Add(indexViewModel); } return(PartialView("_LoginNoticeList", noticesIndexViewModels)); }