ASP.NET MVC5基础 – MVC文件架构

建立MVC项目

首先,咱们使用Visual Studio2019建立一个MVC架构的应用程序。步骤以下:
首先打开VS2019,在启动页选择【建立新项目】。

而后选择建立 ASP.NET Web 应用程序。

填写项目名称,点击建立。

选择MVC,去掉高级选项中的【为HTTPS配置】,而后点击建立。

这时咱们的MVC结构的项目就建立完成了,目录结构以下:
css

MVC目录结构

下面咱们介绍下MVC的目录结构。
1. Views(视图)
存放与应用程序有关的 HTML 文件。
2. Controllers(控制器)
存放负责处理用户输入及响应的控制器类。
3. Models(模块)
存放用来显示到HTML中的程序模型类。
4. App_Start(入口处理程序)
包含应用程序的配置逻辑文件。
5. App_Data(应用程序存储文件)
用来存储应用程序数据。一般以文件形式包含数据存储。
6. Content(存放静态文件)
页面显示用到的静态文件,例如样式表css文件,图标,图片等内容。
7. Scripts(存放JavaScript文件)
存放js文件。
8. fonts(存放字体文件)
存放字体文件。
9. Global.asax(全局程序设置)
主要是web应用程序的全局设置文件。
10. packages.config(管理NuGet包)
用于跟踪管理已安装的软件包及其各自的版本。
11. Web.config(网站配置)
存放一些应用程序用到的配置信息。html

MVC主要文件详解

Global.asax

global.asax这个文件包含全局应用程序事件的事件处理程序。web

好比,咱们能够在这个文件中添加一个当应用程序遇到未处理的异常时的代码。那么当应用程序在运行过程当中遇到了异常,则会调用这段代码。数据库

再好比,咱们能够添加一个当应用程序启动时,适用于全局范围的初始化代码,例如路由规则,筛选规则,文件捆绑规则等,那么这些规则在接下来全部的应用程序中都适用。咱们建立的MVC项目默认给咱们添加了这三个规则。如图:
浏览器

能够看到,MvcApplication类继承自HttpApplication,HttpApplication是定义对 ASP.NET 应用程序内全部应用程序对象公用的方法、属性和事件。因此global中能处理的事件不止我刚才提到的两种,更多详细内容可查看个人ASP.NET MVC5基础 – Global.asax详解这篇文章。架构

如图所示,Application_Start函数给全部应用程序注册了路由,筛选,打包器三个规则,但这三个规则没有直接写在函数中,而是使用了App_Start文件下的配置类来管理。接下来咱们就来看App_Start这个文件夹的做用。mvc

App_Start文件夹

App_Start文件夹存放的是应用程序启动时全局配置的逻辑文件。app

  1. BundleConfig(打包器)
    做用:将静态文件(例如css,js文件)打包,便于调用。
  2. FilterConfig(过滤器)
    做用:能够判断用户登陆和权限,动态Action管理,防篡改等。
  3. RouteConfig(路由器)
    做用:将浏览器的URL请求映射到特定的MVC控制器动做。也就是将网站的URL再也不以.html或.aspx结尾,而是设定为统一的模式来显示。
Controller

MVC的核心就是Controller(控制器),它负责处理浏览器传送过来的全部请求,并决定要将什么内容响应给浏览器。Controller文件夹下储存的就是各类控制器文件。框架

控制器自己只是一个类,该类有许多方法。在这些方法中,只要是公开方法,该方法就会被视为是一种动做(Action)。只要有动做存在,就能够经过该动做方法接收网页请求并决定响应视图。函数

同时,按照MVC的约定,控制器文件需符合如下规则:
1. Controller必须为公开类;
2. Controller名称必须以Controller结尾;
3. 必须继承自MVC内建的Controller类;
4. 因此Action动做方法必须为公开方法。

关于Controller的使用方法我会在后续文章中详细说明。

Models

Models文件夹下,储存的是最终显示到View页面中的视图模型。Model主要负责维持数据状态,经过它将数据从数据库中检索出来传递给Controller处理,客户端传过来的数据也是经过Model传回数据存储系统中。

能够说,Model(视图模型)是View(视图)链接数据库的一个桥梁,它将呈如今用户面前的内容转换为可存储在数据库中的内容,也是很是重要的。

Views

View主要用于呈现数据。因为Controller和相关的Service处理完业务逻辑并将结果打包成了Model实体,因此View只须要负责将Model实体转换为视图呈现出来。更详细的内容我会在后续文章中加以说明。

Web.config

Web.config是一个配置文件,是基于XML的文本文件。

在发布Web应用程序时,Web.config文件并不编译进dll文件中,它主要存储一些ASP.NET应用程序的配置信息,好比上传文件的保存路径可配置在appSettings节点;数据库链接字符可保存在connectionStrings节点;用于定义自定义错误信息的customErrors节点等等…

总结

经过本文能够了解到,如何建立第一个MVC项目、MVC框架的目录结构以及MVC下主要文件的做用。

更多内容可访问个人我的博客:http://www.yunc.top/

相关文章
相关标签/搜索