ASP.NET MVC目录结构

写在前头的废话

默认情况下,ASP.NET MVC应用程序对约定的依赖性很强。这样就避免了开发人员配置和指定一些项,因为这些项可以根据约定来推断。《ASP.NET MVC 5高级编程 》

学MVC需要了解什么是 约定优于配置 ,由于系统默认一些配置,直接去分析程序找不到某些配置信息,所以, 好吧,我们 约定 。(这个概念应该可以引申一下,这里到此为止。)


MVC目录结构也基于约定,粗略的罗列如下:


ASP.NET MVC目录结构_第1张图片
MvcTest

Controllers

包含负责处理用户输入和响应的控制器类。
MVC 要求所有控制器文件的名称以 "Controller" 结尾。
Visual Web Developer 已经创建好一个 Home 控制器(用于 Home 页面和 About 页面)和一个 Account 控制器(用于 Login 页面)。

该目录用户保存处理URL请求的Controller类《ASP.NET MVC 5高级编程 》

Models

包含表示应用程序模型的类。模型控制并操作应用程序的数据。

该目录用于保存表示和操纵数据以及业务对象的类《ASP.NET MVC 5高级编程 》

Views

用于存储与应用程序的显示相关的 HTML 文件(用户界面)。
Views 文件夹中包含每个控制器对应的一个文件夹。在 Views 文件夹中,Visual Web Developer 已经创建了一个 Account 文件夹、一个 Home 文件夹、一个 Shared 文件夹。
Account 文件夹包含用于用户账号注册和登录的页面。(我的没有)
Home 文件夹用于存储诸如 home 页和 about 页之类的应用程序页面。
Shared 文件夹用于存储控制器间分享的视图(母版页和布局页)。
_Viewstart.cshtml是一个在呈现View文件的时候的启动文件,会在所有View(.cshtml)被执行之前执行,主要用于一些不方便或不能在母版(_Layout.cshtml)中进行的统一操作,譬如你有很多个没有继承关系的母版或不使用母版的单页。

该目录用于保存负责呈现输出结果(如HTML)的UI模板文件《ASP.NET MVC 5高级编程 》

App_Data

用于存储应用程序数据。主要是包含应用程序的本地存储, 它通常以文件形式(如Microsoft SQL Server数据库文件, XML文件等)包含数据存储。

App_Start

该文件夹包含应用程序的配置逻辑文件, 具体包括BundleConfig.cs, FilterConfig.cs, RouteConfig.cs, Startup.Auth.cs
BundleConfig.cs: 注册所使用的捆绑的CSS 和 JS文件。
FilterConfig.cs: 注册外部/全局过滤器,这些过滤器可以被应用到每个Action和Controller中去.
RouteConfig.cs: 配置MVC应用程序的系统路由路径。
Startup.Auth.cs: 配置MVC应用程序的安全信息,包括Authentication和Authorization配置以及第三方Authentication Provider(我的项目中就没有)

Content

存放静态文件,比如样式表(CSS 文件)、图标和图像。
Visual Web Developer 会自动添加一个themes文件夹到 Content 文件夹中。themes 文件夹存放 jQuery 样式和图片。在项目中,您可以删除这个 themes 文件夹。
同时也会添加一个标准的样式表文件到项目中:即 content 文件夹中的Site.css文件。这个样式表文件是您想要改变应用程序样式时需要编辑的文件。

fonts

存放一些字体文件

Scripts

存储应用程序所支持的脚本(js)文件。
默认情况下,Visual Web Developer 在这个文件夹中存放标准的 MVC、Ajax 和 jQuery 文件:
注释:名为 "modernizr" 的文件时用于在应用程序中支持 HTML5 和 CSS3 的 JavaScript 文件。

Global.asax文件

主要是web应用程序的全局设置文件,该文件包含响应 ASP.NET 或HTTP模块所引发的应用程序级别和会话级别事件的代码。Global.asax 文件驻留在 ASP.NET 应用程序的根目录中。运行时,分析 Global.asax 并将其编译到一个动态生成的 .NET Framework 类,该类是从HttpApplication基类派生的。配置 ASP.NET,以便自动拒绝对 Global.asax 文件的任何直接的 URL 请求;外部用户不能下载或查看其中的代码。Global.asax 文件是可选的。只在希望处理应用程序事件或会话事件时,才应创建它。

ApplicationInsights.config或 ApplicationInsights.xml

具体取决于应用程序的类型。 安装大多数版本的 SDK 时,系统会自动将配置文件添加到项目。 使用 IIS 服务器上的状态监视器或者选择适用于 Azure 网站或 VM 的 Application Insights 扩展时,也会将配置文件添加到 Web 应用。

packages.config

NuGet管理用的

参考:https://www.cnblogs.com/span06/p/6774786.html

修改18.1.22
对于一些脚本库或者组件,Content和Scripts分开实在不方便
不必强求,可以删除Scripts,在Content下建css,js,img
多写一点,Models也需要分离出来

你可能感兴趣的:(ASP.NET MVC目录结构)