ASP.NET MVC约定

项目结构约定

文件夹及文件

描述

/App_Data

此文件用于放置私有数据,如XML文件,或使用SQL Server Express,SQLite的数据库文件,或其他文件的存储库

IIS不将此文件夹的内容进行服务(意即无法通过Web来请求该目录文件)

/App_start

此文件夹包含项目的一些核心配置,包括路由和过滤器的定义,以及一些内容包

 

/Areas

区域是把一个大型应用程序划分为较小片段的方法

 

/bin

为MVC应用程序编译好的程序集放在这里,连同任何被引用的包括不在GAC中的引用程序集

IIS不将此从文件夹的内容进行服务

/Content

用于放置静态内容,如CSS和图片等

这是一个约定但不是必须的,你可以把静态内容放在任何适合自己的地方

/Controllers

用于放置控制器类

这是一个约定,可以把控制器放在任何地方,因为它们都会被编译到同一个程序集中。

/Models

用于放置视图模型和域模型类,除非是最简单的应用程序,否则都能够获益于一个专用的定义域模型的程序集

这是一个约定,可以把模型放在任何地方。或是一个单独的程序集。

/Scripts

本目录意在保存应用程序的JavaScript库

这是一个约定,你可以把脚本放在任何位置,因为它们实际上是另一种类型的静态内容。

/Views

保存视图和分部视图,通常按它们的控制器命名的文件夹进行分组

/Views/Web.config文件阻止IIS对这些目录的直接访问。视图必须通过动作方法来访问。

/Views/Shared

本目录保存布局,以及不专用于个别控制器的视图

 

/Views/Web.config

这不是应用程序的配置文件。它包含使视图能够与ASP.NET进行工作,防止IIS调用视图所需要的配置,还含有默认导入视图的命名空间

 

/Global.asax

这是全局ASP.NET应用程序类。它的后台代码类用于注册路由配置,也是建立涉及应用程序初始化,停机及出现未处理异常情况需要运行代码的地方

Global.asax文件在MVC应用程序中的作用与其在WebForm应用程序中作用相同

/Web.config

这是应用程序配置文件

与WebForm作用相同

 

约定优于配置

约定优于配置的含义为:你不需要明确地配置控制器与其视图之间的关联,只要遵循某种命名约定,一切都会正常工作。

1. 遵循控制器约定

控制器类名必须以“Controller”结尾,如HomeController

2. 遵循视图约定

视图及分部视图放在/Views/ControllerName文件夹中。例如,一个与ProductController相关联的视图应该放在/Views/Product文件夹中。

MVC框架期望,一个动作方法的默认视图应当按照这个方法进行命名。例如:名为List动作方法相关联的视图应该是 “List.cshtml”。

3.遵循布局约定

对于布局的约定是,以下划线(_)字符作为文件名前缀,而且布局文件应该放在/Views/Shared文件夹中。默认情况下,会通过/Views/_ViewStart.cshtml文件将这个布局应用与所有的视图。如果不想把默认布局用于视图,可以修改_ViewStart.cshtml中的设置,或者将Layout设置为null

你可能感兴趣的:(Web应用)