Controllers/MessagesController.cs

(开头部分) 15KB

这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。

using Message_Board.Models;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;

namespace Message_Board.Controllers
{
    public class MessagesController : Controller
    {
        private MessageDBContext db = new MessageDBContext();
        int pagenum = 6;
        // GET: Messages
        public ActionResult Index(string messageType,string searchString,string currentPage)//主页
        {
            if (String.IsNullOrEmpty(currentPage))
            {
                ViewBag.currentPage = 1;
                string s = "" + 1;
                currentPage = s;
            }
            if (int.Parse(currentPage)==0)
            {
                ViewBag.currentPage = 1;
                string s = "" + 1;
                currentPage = s;
            }
            ViewBag.currentPage = int.Parse(currentPage);
            var TypeLst = new List<string>();
            var TypeQry = from d in db.Messages orderby d.MessageType select d.MessageType ;
            TypeLst.AddRange(TypeQry.Distinct());    //去重
            ViewBag.messageType = new SelectList(TypeLst);
            var messages = from m in db.Messages where m.Number==1 select m;
            if (!String.IsNullOrEmpty(messageType))
            { messages = messages.Where(x => x.MessageType == messageType); }
            if (!String.IsNullOrEmpty(searchString))
            { messages = messages.Where(s => s.Subject.Contains(searchString)); }
            int count=messages.ToList().Count;
            int i = count / pagenum;
            if (i != 0 &&(count%pagenum!=0))
                i++;
            if (count <= 5)
                i++;
            ViewBag.maxPage = i;
            if (int.Parse(currentPage) > i)
            {
                return RedirectToAction("Index", "Messages");
            }
            messages=messages.OrderByDescending(s => s.Time);
            int lostpage = i - int.Parse(currentPage);
            int lostnum = count - (i - 1) * pagenum + (lostpage - 1) * pagenum;
            if (i > 1)
            {
                messages = messages.Take(count - lostnum);
                messages = messages.Skip((int.Parse(currentPage) - 1) * pagenum);
            }
            return View(messages.ToList());
        }

后面还有 342 行代码,解锁后查看完整代码

24 小时内免费解锁 3 个项目,之后 1 算力/个。 规则说明

AI 解读 AI

登录后可用,每次 10 算力,解读结果公开显示在下面。

还没有人解读过这个文件。