其他分享
首页 > 其他分享> > MVC学习总结

MVC学习总结

作者:互联网

控制器的3个重要作用

【1】获取数据
【2】业务执行(根据要求调用相关的模型)
【3】返回视图(或者跳转到其他的动作方法)

MVC的规范(约定)
1、请求转接:请求的URL被web容器接收后,首先根据路由表判断url请求格式(路线)是否合理,对于合理的请求,会分析出对应的“控制器”和“动作方法”,然后把处理权分配下去。

2、视图寻找:View()方法是默认的方法,如果什么都没写,默认返回的是与“动作方法同名的视图”如果不一样,请显式的写出视图名称。视图寻找的时候,是根据当前控制器同名的“子文件夹”中去找对应的视图。

3、代码约定:控制器必须以Controller结尾。视图必须发放到Views文件夹中,并且是与控制器同名的子文件夹中。

第2讲:Razor视图
Razor-@基本语法:

 

第3讲:
3、总结几种数据传递方法

    【1】ViewData:适合单个数据传递,需要类型转换。
    【2】ViewBag:适合单个数据传递,不需要类型转换。
Control 中保存: ViewBag.courseList = courseList,
View中使用:foreach (Course item in ViewBag.courseList)或者
Models.course courselist=ViewBag.courseList
    【3】TempData:主要是用来跨多个动作方法之间传递数据。
Course控制器的ActionResult ReturnLogin()方法:保存和跳转
 TempData["returnInfo"] = "我们和常老师学会了TempData的使用!";
            //跳转到另一个控制器,而不是视图
            return RedirectToAction("AcceptReturn","Teacher");
View使用:
        public ActionResult AcceptReturn()
        {
            //接收通过控制器传递的数据
            ViewBag.Rinfo = TempData["returnInfo"];
            return View("ReturnInfo");
        }

    【4】View() +Model :适合传递模型数据,不需要类型转换。
Control中传递:
 //为了使用强类型视图,我们需要使用View()方法的重载,传递对象
            Course course  = new CourseManager().QueryCourseById(courseId);
            return View("CourseDetailModel", course);

View中使用

标签:总结,传递,控制器,ViewBag,视图,学习,courseList,MVC,View
来源: https://blog.csdn.net/month_with_life/article/details/117852042