(一)MVC5干货篇,目录和路由
- 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 |
应用程序的配置文件 |
- URL路由
路由系统通常有两个功能:
考察输入的URL,判断需要请求那个控制器和动作。
生成输出URL。
- 注册一个简单的路由,需要在RouteConfig中定义好路由,然后在Global.asax.cs类中注册。如下图:


- 路由配置详解。如下图:

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

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

Route属性标记支持的参数如下表:
|
名称 |
描述 |
|
Name |
需要使用的路由配置的名称 |
|
Template |
定义一个模式,用于匹配以动作方法为目标的URL |
- 使用RoutePrefix属性注解定义控制器中所有路由的普通前缀,如图:

(一)MVC5干货篇,目录和路由的更多相关文章
- MVC5干货篇,目录和路由
MVC目录结构概述 文件夹或文件 描述 备注 /App_Data 此文件夹用于存放私有数据,如XML,或者SQL Server Express\SQLite的数据库文件,或其他基于文件的存储库 IIS ...
- appledoc导出iOS代码文档的使用和问题详解(干货篇)
appledoc导出iOS代码文档的使用和问题详解(干货篇) 1. 简单说一下背景和自己感受 背景: 项目好像突然黄了,公司让详细写项目代码的注释并且导出文档,弄完之后就要封版. 说实话:听到这个消息 ...
- 《VueRouter爬坑第三篇》-嵌套路由
VueRouter系列的文章示例编写时,项目是使用vue-cli脚手架搭建. 项目搭建的步骤和项目目录专门写了一篇文章:点击这里进行传送 后续VueRouter系列的文章的示例编写均基于该项目环境. ...
- ASP.NET MVC5 新特性:Attribute路由使用详解 (转载)
1.什么是Attribute路由?怎么样启用Attribute路由? 微软在 ASP.NET MVC5 中引入了一种新型路由:Attribute路由,顾名思义,Attribute路由是通过Attrib ...
- ASP.NET MVC5 新特性:Attribute路由使用详解
1.什么是Attribute路由?怎么样启用Attribute路由? 微软在 ASP.NET MVC5 中引入了一种新型路由:Attribute路由,顾名思义,Attribute路由是通过Attrib ...
- mvc5新特性RouteAttribute特征路由
mvc5新特性RouteAttribute特征路由,本文讲述如何开启mvc5的RouteAttribute路由功能并附上一个实例说明RouteAttribute是怎么工作的 mvc5新特性RouteA ...
- VB6.0编程笔记——(1)篇外篇&目录
从计算机专业毕业到进入IT行业,说来也有些年头了.相比较而言算是幸运,也有很多的同学进入了其他行业,也有一些朋友又想进入这个行业.现在回想自己的一路历程,总结一下,也是一份记忆. 基于以上的原因,希望 ...
- ASP.NET MVC5(一)—— URL路由
using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.We ...
- [oldboy-django][2深入django]django目录说明 + 路由系统
django project目录说明 project - app01 -- admin.py #django自带后台管理 -- apps.py #app01配置文件 -- models.py #编写类 ...
随机推荐
- Oracle 10g -- 修改DB的编码
修改DB的原因是:因为我的DB不支持中文,所以每当我向数据库表中插入一条数据的时候,中文就都变了类似于“?(是反问号)”的乱码,为了能顺利插入成功,故做了此次修改; 系统:windows XP 英文版 ...
- 【java】:通用接口
电商接口 京东获取单个商品价格接口: http://p.3.cn/prices/mgets?skuIds=J_商品ID&type=1 用例 ps:商品ID这么获取:http://item.jd ...
- SparkContext的初始化(叔篇)——TaskScheduler的启动
<深入理解Spark:核心思想与源码分析>一书前言的内容请看链接<深入理解SPARK:核心思想与源码分析>一书正式出版上市 <深入理解Spark:核心思想与源码分析> ...
- 再详细的介绍一下Unity5的AssetBundle
之前曾经写了一篇博客介绍Unity5的AssetBundle,结果似乎很受关注.不过似乎很多人看了之后都不懂,主要是因为不太明白AssetBundle是什么,它的依赖关系和结构是什么的,就直接想拿代码 ...
- OpenLayers中的图层
OpenLayers有多个不同的图层类,每一个都可以连接到不同的地图服务器.例如通过Layer.WMS类可以连接到WMS地图服务器,通过Layer.Google类可以连接到谷歌地图服务器.OpenLa ...
- java里的static和final
本节介绍JAVA里static和final的作用和使用方法以及一些需要注意的问题. 一.static static表示"全局"或"静态",用来修饰成员变量和成员 ...
- SQL中Group By 的使用
1.概述 “Group By”从字面意义上理解就是根据“By”指定的规则对数据进行分组,所谓的分组就是将一个“数据集”划分成若干个“小区域”,然后针对若干个“小区域”进行数据处理. 2.原始表 3.简 ...
- 『TCP/IP详解——卷一:协议』读书笔记——01
从今日起开始认真研读TCP/IP详解这本经典制作,一是巩固我薄弱的计算机网络知识,二来提高我的假期的时间利用率.将心得与思考记录下来,防止白看-哦耶 2013-08-14 18:47:06 第一章 概 ...
- codeforces 425D
题意:给定n<=100000个二维点,并且0<=x,y<=100000,求有多少个平行于坐标轴的正方形 思路:本来想hash的,但是感觉不好弄.. 后来感觉像是分块,最坏的情况就是那 ...
- iOS 直播(一)
由于业务需求,需要从腾讯直播sdk要迅速转移到自主开发(先让我默哀三分钟).不多说,直接开始唠嗑! 这个项目超级简单,简单到只能一个推流,一个拉流的功能.需求多的再另谈. 前期准备:推流用优酷开源的L ...