码迷,mamicode.com
首页 > Web开发 > 详细

第13章 URL 路由

时间:2015-07-11 12:03:02      阅读:118      评论:0      收藏:0      [点我收藏+]

标签:

----------------------------------------------------------

注:路由系统没有任何控制器和动作的专门知识。它只是片段变量提取值,并把这些值沿着请求管道进行传递。在请求处理管道的

后面部分,当请求恰好到达MVC框架时,其才会被赋给controller和action变量。

 

注:默认情况下,路由系统在评估应用的路由之前,会考察一个URL是否匹配一个磁盘文件。

当:routes.RouteExistingFiles=true;  //对已存在的文件也进行路由,修改默认行为。

 

注:controller和

----------------------------------------------------------

知识点:

  1.MvcRouteHandler类 是ASP.NET MVC应用程序员定制路由的类。(new MvcRouteHandler())。

  2.MapRoute方法:专用于MVC应用程序。

  3.MapPageRoute方法:用于Asp.net Web Form应用程序。

      4.HttpRequestBase、HttpContextBase、HttpResponseBase 支撑支持路由系统的MVC体系结构。

 

----------------------------------------------------------

一、路由系统的两个功能:

  1.考查一个输入URL,并推断出该请求想要的是哪个控制器和Action。

  2.生成输出URL。这些URL是在视图渲染的HTML中出现的URL,以便用户点击链接时,调用特定的Action。

二、URL模式的两个关键行为:

  1.保守的:只匹配与模式具有相同片段的URL。(注意:默认值会使〈=片段数的URL与模式匹配)

  2.宽松的:只要具有正确的片段数,该模式就会用来为片段变量提取值。(注意:路由顺序)

三、默认值、静态URL片段、自定义片段变量、约束路由、对磁盘文件的请求进行路由

  1.默认值:当URL不包含与一个片段匹配的值时,便使用默认值。作为匿名类型的属性提供的。

       


//此路由将匹配0个(使用2个默认值Home,Index)、1个(使用1个默认值Index)、2个片段的URL

routes.MapRoute(
"MyRoute",
            "{controller}/{action}",
            new{controller="Home",action="Index"}   //为controller变量提供了一个Home默认值,为action变量提供了一个Index的默认值。
            );

   2.使用静态URL片段:创建具有静态片段的模式,静态片段只做为URL中的片段,与controller、action无关。请求时,还是通过MvcRouteHandler实例与url参数中的变量进行匹配。当url参数变量中没有{controller}或{action}时,必须在默认值匿名类中进行赋值。

  3.自定义片段变量:

第13章 URL 路由

标签:

原文地址:http://www.cnblogs.com/wjs5943283/p/4637517.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!