大家好,小经来为大家解答以上问题。aspnetcore5教程,aspnetmvc很多人还不知道,现在让我们一起来看看吧!
1、 Global.asax应用程序开始注册路线。
2、 在向网站发出请求时,应用程序是如何将请求引导到相应的控制器以及里面的动作方法的?
3、 首先,网站一旦启动,会预先加载根据控制器和动作方法设置的路由规则,这样当有请求时,路由会分析然后将请求引导到对应的控制器和动作方法,如下图所示:
4、 注意:RouteConfig类位于App_Start文件夹下。
5、 控制器
6、 1)根据前面的分析,每一个请求都是先定位控制器,然后根据路由规则找到相应的动作方法!2)但是在路由表中,我们只写了Home,但是MVC框架规定所有的控制器都以controller结尾,并且继承了基类Controller!3)这里Index方法的返回值类型为ActionResult,方法名与路由注册的方法名相同。在Index方法中,调用并返回View方法。这是一个重载方法,它可以给出一个参数作为返回视图的名称。如果没有参数,默认为以当前操作命名的视图。4)也就是Asp.netMVC架构。与JavaMVC通过配置建立关系不同的是,协议大于配置,如下图所示:
7、 视角
8、 视图中的代码类似于之前ASPX中的代码,主要由HTML、JS、CSS等前端技术组成。从MVC1.0到MVC5.0变化很大,Razor语法也越来越完善和强大,如下图所示:
9、 将数据传递给视图
10、 1)在传统的WebForm方式中,继承了前台页面类和后台代码类,可以直接传输数据。2)在2)MVC模式下,视图和控制器完全分离,数据通过专用通道传输。ViewData是在控制器和视图之间传输数据的容器之一,如下图所示:
11、 ASP。NETMVC执行序列,如下图所示:
12、 模型和三层架构
13、 MVC和三层架构有什么区别吗?1)、MVC和三层架构没有必然联系,只是架构的思路不同。2)三层架构强调物理分离(由多个项目组成),MVC强调逻辑分离(由一个项目组成)。3)三层架构也可以体现在MVC中,如下图所示:
14、 为了便于管理,有些MVC企业框架故意分层设计模型。
15、 注意:在MVC中,如果它不属于视图或控制器,那么把它放在模型中。
本文到此结束,希望对大家有所帮助。