1. MVC目录结构概述

文件夹或文件

描述

备注

/App_Data

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

IIS将不对此文件夹的内容进行服务,也就是说无法通过Web请求获取该目录的文件

/App_Start

此文件夹包含项目的一些核心配置设置,包括路由、过滤器、捆绑包、API等

 

/Areas

程序中区域的存放文件夹。可以把一个大型应用程序还分为一个个的小片段。

 

/bin

MVC程序编译好的程序集和任何被引用的且不包含在GAC全局程序集缓存中的引用程序集的存放位置

IIS不对此目录进行服务。在解决方案管理器中看不到bin文件夹,需要显示所有文件才能看到。不需要把这个文件夹存储在源代码控制器(TFS)中。

/Content

用于放置MVC的静态内容,如CSS或图片等

这是一个约定但是不是必须的。可以把静态文件放置在任意位置,只要你喜欢。

/Controller

用于放置控制器的文件夹

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

/Models

用于放置视图模型或者域模型类,域模型最好放置在一个专用的程序集中,而把视图模型放置在该文件夹中。

这是一个约定,可以在任意位置上定义模型类。

/Scripts

用于存放Javascript库

这是一个约定,可以存放在任意位置上。

/Views

用于存放视图和部分视图,通常他们关联的控制器命名的文件夹进行分组

/View/Web.config文件阻止IIS对这些目录内容进行服务。视图必须通过动作方法进行渲染。

/Views/Shared

用于存放布局视图以及共享视图。

 

/Views/Web.config

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

 

/Global.asax

这是全局ASP.NET应用程序类。他的后台代码类Global.asax.cs用于注册路由、WebAPI、捆绑包等配置。也涉及建立应用程序初始化、停机或出现未处理异常时需要运行的代码的地方。

 

/Web.config

应用程序的配置文件

 
  1. URL路由

路由系统通常有两个功能:

考察输入的URL,判断需要请求那个控制器和动作。

    生成输出URL。

  1. 注册一个简单的路由,需要在RouteConfig中定义好路由,然后在Global.asax.cs类中注册。如下图:

  1. 路由配置详解。如下图:

  1. 使用属性路由
    1. 属性路由是MVC的一个重要补充,但是它违反了MVC的分离关注点原则。默认的情况下,属性路由是被禁用状态。

    开启属性路由的方式如下:

    1. 使用Route属性标记对动作方法配置路由规则,如下图:

      Route属性标记支持的参数如下表:

名称

描述

Name

需要使用的路由配置的名称

Template

定义一个模式,用于匹配以动作方法为目标的URL

  1. 使用RoutePrefix属性注解定义控制器中所有路由的普通前缀,如图:

最新文章

  1. [问题2014S07] 解答
  2. 编程中、遇到问题、bug多思考
  3. Python文件之----JSON
  4. IE6浏览器的一些问题
  5. 【Kafka】操作命令
  6. web项目各个clean
  7. Python3玩转儿 机器学习(4)
  8. CentOS 7下的Vim自动补齐插件YouCompleteMe安装及配置
  9. 17.QT-事件处理分析、事件过滤器、拖放事件
  10. 理解主从设备模式(Master-Slave)
  11. PAT 1076 Wifi密码(15)(代码)
  12. angularjs动态添加节点时,绑定到$scope中
  13. 二维码扫描开源库ZXing定制化
  14. dwr3实现消息精确推送详细步骤
  15. MySQL 查询缓存机制(MySQL数据库调优)
  16. MongoDB day03
  17. 一个较复杂的执行redis的lue脚本
  18. 服务器状态监控之snmp&ipmi
  19. ansible基本模块-server
  20. 【HCNE题型自我考究】

热门文章

  1. 转贴 IT外企那点儿事完整版
  2. 03-JAVA方法
  3. Python学习笔记-Day5
  4. sql 返回xml类型的数据
  5. Ubuntu 安装snmp报Unlinked OID in IPATM-IPMC-MIB: marsMIB ::= { mib-2 57 }错误
  6. mormot orm rest注意事项
  7. 数字电路-异同步 复位 线与 oc门
  8. python 生产者消费者模型
  9. PRISM ‘VS100COMNTOOLS’ not set. Cannot set the build environment
  10. iOS删除本地文件