4 Star 0 Fork 37

19级软件1班 / 19级软件1班ASP.NET MVC 5课堂笔记

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
2021-05-18.md 2.22 KB
一键复制 编辑 原始数据 按行查看 历史
余吉祥 提交于 2021-05-26 16:34 . 笔记提交

控制器Messages

    public class MessagesController : Controller
    {
        private SayDemoDb db = new SayDemoDb();

        // GET: Messages
        public ActionResult Index()
        {
            var id = 1;
            var currentUser = db.Users.Where(x=>x.Id==id).SingleOrDefault();

            // 获取所有的用户
            var userList = db.Users.ToList();
            // 获取所有的说说
            var msgList = db.Messages.ToList();
            // 所有的评论
            var comList = db.Comments.ToList();
            
            // 定义一个准备用来放所有的首页消息模型的集合
            var msgViewModelList = new List<MessageViewModel>();

            // 遍历所有的消息
            foreach(var msg in msgList)
            {
                // 定义一个集合,用来存放当前消息下的所有的评论
                var tmpComList = new List<CommentViewModel>();
                // 根据当前说说id,查找所有的评论
                var currentMsgComments = comList.Where(x => x.MsgId == msg.Id).ToList();
               

                // 遍历说说的所有评论
                foreach(var c in currentMsgComments)
                {
                    tmpComList.Add(new CommentViewModel
                    {
                        FromUserName = userList.SingleOrDefault(x => x.Id == c.FromUserId).Username,// 根据当前的评论用户id,从用户中查找对应用户,并且获得用户的名称
                        ToUserName = userList.SingleOrDefault(x => x.Id == msgList.SingleOrDefault(t => t.Id == c.MsgId).FromUserId).Username,// 
                        Comment = c.Content
                    });
                }

                // 转换说说首页
                msgViewModelList.Add(new MessageViewModel
                {
                    Id = msg.Id,
                    FromUserId = msg.FromUserId,
                    Content = msg.Content,
                    Comments = tmpComList
                });
            }


            var data = new SayViewModel
            {
                Username = currentUser.Username,
                Messages = msgViewModelList
            };


            return View(data);
        }
C#
1
https://gitee.com/grade19_soft_class1/grade-19-software-class-1-ASP.NET-MVC-5.git
git@gitee.com:grade19_soft_class1/grade-19-software-class-1-ASP.NET-MVC-5.git
grade19_soft_class1
grade-19-software-class-1-ASP.NET-MVC-5
19级软件1班ASP.NET MVC 5课堂笔记
master

搜索帮助