[Buffalo]ASP.NET MVC路由映射

  Asp.Net的路由系统旨在通过注册URl模版与物理文件之间的映射进而实现请求地址与文件路径之间的分离,但对于Asp.Net
Mvc应用来说,请求的目标却是定义在某个Controller类型中的Action方法。

  为了实现针对目标Controller和Action的路由,Asp.Net
Mvc在System.Web.Mvc.RouteCollectionExtensions中针对RouteConllection类型定义了一系列的扩展方法以实现文件路径无关的路由映射。其中的两组方法,Ignore用于注册不需要进行路由的URL模板;MapPageRoute方法用于进行基于URL模版的路由注册。

  对于Asp.net
Mvc来说,URL路由系统对请求地址进行解析后生成的路由数据中必须包含目标Controller的名称。由于Controller名称仅仅对应着类型的名称,但是激活Controller实例的前提是我们能够正确的解析出它的具体类型,所以在具有多个同名Controller类型时,还需要用到命名空间。在调用MapPageRoute方法时可以通过字符串数组类型的参数namespace来指定一个命名空间的列表。对于注册的命名空间,可以指定一个代表完整命名空间的字符串,也可以使用“*”作为通配符表示对命名空间相应的部分不作任何约束。

  对于针对定义在某个Controller中的某个Action的请求,如果注册的路由表与之匹配,具体匹配的路由对象的GetRouteData方法被调用并返回一个具体的RouteData对象。对请求的地址进行解析得到的目标Controller和Action的名称必须包含在该RouteData的Values属性对应的RouteValueDictionary对象中,其对应得Key分别为“controller”和“action”;

[Buffalo]ASP.NET MVC路由映射,码迷,mamicode.com

时间: 2024-12-26 01:30:26

[Buffalo]ASP.NET MVC路由映射的相关文章

ASP.NET MVC - 路由系统

ASP.NET MVC的请求URL不再对应于传统ASP.NET程序的ASPX文件物理地址,而是把请求映射到一个控制器(Controller)类的方法(Action)上,Controller.Action再加上参数构成ASP.Net MVC请求的Url.下面我们来看下路由系统的主要对象. UrlRoutingModule ASP.NET MVC框架的路由实质是从传统ASP.NET管道扩展HttpModule而来,这个模块正是UrlRoutingModule.通过反编译可以看到UrlRoutingM

Asp.Net MVC 路由 【转】

原文链接:http://www.asp.net/learn/mvc/ 在这篇教程中,我将为你介绍每个ASP.NET MVC应用程序都具有的一个重要功能,称作ASP.NET路由(ASP.NET Routing).ASP.NET路由模块负责将即将到来的浏览器请求映射到特定的MVC控制器动作.学完这篇教程之后,你将会理解标准的路由表是如何将请求映射到控制器动作的. 1. 理解默认路由表 当你创建一个新的ASP.NET MVC应用程序时,应用程序已经被配置为使用ASP.NET路由.ASP.NET路由在两

ASP.NET MVC路由(一)

ASP.NET MVC路由(一) 前言 从这一章开始,我们即将进入MVC的世界,在学习MVC的过程中在网上搜索了一下,资料还是蛮多的,只不过对于我这样的初学者来看还是有点难度,自己就想看到有一篇引导性的资料可以帮助我初步的了解一下这部分知识,然后再去学习大神们写的资料.并不是说看完文章就会可以开发.可以怎么怎么样,没有!这些都没有,只是让你在脑海中把这部分内容记住它们的模型图以及一个大概的在MVC框架中的位置或者是整个系统中的位置,说了这么多的目的就是让大家更好的了解基础知识,有了它以后的进阶会

学习ASP.NET MVC5框架揭秘笔记-ASP.NET MVC路由(一)

2.2ASP.NET MVC路由 ASP.NET的路由系统旨在通过注册路由模板与物理文件路径之间的映射进而实现请求地址与文件路径之间的分离,但对于ASP.NET MVC应用来说,请求的目标不再是一个具体的物理文件,而是定义在某个Controller类型中的Action方法.出于自身路由特点的需要,ASP.NET MVC对ASP.NET路由系统进行了相应的扩展. 2.2.1路由映射 通过前面的介绍我们知道,RouteTable的静态属性Routes返回的RouteCollection对象代表了针对

ASP.NET MVC路由系统的核心对象介绍

众所周知,ASP.NET MVC有一套自己的路由系统.这套路由系统是在原来的ASP.NET 路由系统上扩展过来的.今天这篇文章就来聊聊MVC路由系统中非常关键的一些对象. ASP.NET MVC路由系统主要由以下几个核心对象:         1.RouteCollection(RouteCollextionExtentions)         2.RouteTable         3.RouteData         4.Route:RouteBase         5.URLRou

ASP.NET MVC路由(二)

 ASP.NET MVC路由(二) 前言 在上一篇中,提及了Route.RouteCollection对象的一些信息,以及它们的结构所对应的关系.按照处理流程走下来还有遗留的疑问没有解决这个篇幅就来讲解一下. URL规则的生成 Url规则看名字挺吓唬人的,其实就是根据我们自定义的Url来解析出一个模式,然后等待请求的Url来的时候,跟我们定义的模式进行匹配(如下图).这是后续的内容. 在上篇中说到URL规则的定义是在Route对象中的,下面来讲解在Route对象中怎么根据用户注册的URL转变成U

ASP.NET MVC 路由(四)

ASP.NET MVC 路由(四) 前言 在前面的篇幅中我们讲解路由系统在MVC中的运行过程以及粗略的原理,想必看过前面篇幅的朋友应该对路由有个概念性的了解了,本篇来讲解区域,在读完本篇后不会肯定的让你对区域有彻底的了解,但是会让你在以后对这部分知识掌握的路上夯上厚实的基础. 区域 在路由的起初在按照VS环境新建的MVC项目来讲的,今天区域也是按照这样的套路来讲.MSDN上说,在大型项目使用中被MVC划分为较小单元也就是区域,我没有使用过区域的经验,所以这篇只能讲解它的对象模型以及粗略的原理.

ASP.NET MVC路由(四)

ASP.NET MVC路由(四) 前言 在前面的篇幅中我们讲解路由系统在MVC中的运行过程以及粗略的原理,想必看过前面篇幅的朋友应该对路由有个概念性的了解了,本篇来讲解区域,在读完本篇后不会肯定的让你对区域有彻底的了解,但是会让你在以后对这部分知识掌握的路上夯上厚实的基础. 区域 在路由的起初在按照VS环境新建的MVC项目来讲的,今天区域也是按照这样的套路来讲.MSDN上说,在大型项目使用中被MVC划分为较小单元也就是区域,我没有使用过区域的经验,所以这篇只能讲解它的对象模型以及粗略的原理. (

史上最全的ASP.NET MVC路由配置,以后RouteConfig再弄不懂神仙都难救你啦~

继续延续坑爹标题系列.其实只是把apress.pro.asp.net.mvc.4.framework里的CHAPTER 13翻译过来罢了,当做自己总结吧.内容看看就好,排版就不要吐槽了,反正我知道你也不会反对的. XD 首先说URL的构造. 其实这个也谈不上构造,只是语法特性吧. 命名参数规范+匿名对象 routes.MapRoute( name: "Default", url: "{controller}/{action}/{id}", defaults: new