图解ASP.NET MVC项目运行

 时间:2026-02-15 20:18:43

1、Global.asax—应用程序启动注册路由

当对网站发出请求时,应用程序是如何把请求引到对应的控制器及里面的Action方法?

首先网站一启动,会提前加载根据控制器和Action方法设置的路由规则,这样一请求,路由就会分析之后把请求引到对应的控制器和Action方法,如下图所示:

注:RouteConfig类位于App_Start文件夹下面。

图解ASP.NET MVC项目运行

图解ASP.NET MVC项目运行

2、控制器

1)根据前面的解析,每次请求都是先定位控制器,然后再根据路由规则找到对应的Action方法!2)但是在路由表里,我们只写了Home,但是MVC框架约定,控制器都是以Controller结尾,并继承了基类Controller!3)在这里Index方法返回值类型是ActionResult,方法名和路由注册的方法名一致,在Index方法内,调用了View方法并且返回,这是一个重载的方法,可以给个参数,作为返回视图的名称,如果没有参数,默认就是以当前Action命名的视图。4)也就是Asp.netMVC架构,不像Java的MVC通过配置来建立关系,他是约定大于配置,如下图所示:

图解ASP.NET MVC项目运行

3、视图

视图里的代码类似于之前的ASPX里面的代码,主要是HTML、JS和CSS等前端技术构成,从MVC1.0到MVC5.0变化很大,Razor语法越来越完善,强大,如下图所示:

图解ASP.NET MVC项目运行

4、向视图传递数据

1)传统的WebForm方式,前置页面类和后置代码类是继承的关系,可以直接进行数据传递。2)MVC模式下,视图和控制器是完全分离的,通过专用渠道传递数据,ViewData是在控制器和视图之间传递数据的容器之一,如下图所示:

图解ASP.NET MVC项目运行

图解ASP.NET MVC项目运行

5、ASP.NET MVC执行顺序,如下图所示:

图解ASP.NET MVC项目运行

6、Model和三层架构 

MVC与三层架构之间有没有区别?   1)、MVC和三层架构没有必然的关系,架构的思想是不一样的。   2)、三层架构强调的是物理分离(多个项目构成),MVC强调的是逻辑分离(一个项目构成)。   3)、MVC中也可以体现三层架构,如下图所示:

图解ASP.NET MVC项目运行

7、有些MVC企业框架为了方便管理,会故意把Models做分层设计。

注意:在MVC中如果它不属于View也不属于Controller,那么就把它归到Model中。

  • 如何采集图片到花瓣网
  • 如何使用ps软件制作毛毯背景图片?
  • 3Dmax模铁造型制作教程
  • ps如何快速显示当前图层
  • Photoshop怎么样才可以把产品周围加上阴影特效
  • 热门搜索
    三星笔记本怎么样 旅游船 重庆工商职业学院怎么样 星巴克可以加盟吗 哪里可以看黄 主要工作业绩怎么写 珀莱雅的护肤品怎么样 西藏拉萨旅游 从化旅游景点 索尼a6000怎么样