HTML5技术

【ASP.NET MVC 牛刀小试】 ASP.NET MVC 路由 - Alan_beijing(7)

字号+ 作者:H5之家 来源:H5之家 2017-06-29 11:01 我要评论( )

1 using System; 2 using System.Collections.Generic; 3 using System.Linq; 4 using System.Web; 5 using System.Web.Mvc; 6 using System.Web.Routing; MVCDemo 9 { RouteConfig 11 { RegisterRoutes(RouteColle

1 using System; 2 using System.Collections.Generic; 3 using System.Linq; 4 using System.Web; 5 using System.Web.Mvc; 6 using System.Web.Routing; MVCDemo 9 { RouteConfig 11 { RegisterRoutes(RouteCollection routes) 13 { ); 15 16 routes.MapRoute( , , , action = , id = UrlParameter.Optional } 20 21 ); 22 } 23 } 24 } 25

View Code

/Controllers/RouteDemo

1 using System; 2 using System.Collections.Generic; 3 using System.Linq; 4 using System.Web; 5 using System.Web.Mvc; MVCDemo.Controllers 8 { RouteDemoController : Controller 10 { ActionResult Index() 14 { 15 return View(); 16 } 17 } 18 }

View Code

/Controllers/NewFolder1/RouteDemo

1 using System; 2 using System.Collections.Generic; 3 using System.Linq; 4 using System.Web; 5 using System.Web.Mvc; MVCDemo.Controllers.NewFolder1 8 { RouteDemoController : Controller 10 { ActionResult Index() 14 { ); 16 } 17 } 18 }

View Code

测试结果

3 路由概述(特性路由)

 特性路由是在ASP.NET MVC 5中新增的,传统路由ASP.NET MVC 1中就有了。

 从内容上来看,特性路由的内容与传统路由差不多,同样有路由URL、路由值、控制器路由、路由约束和路由默认值等。鉴于篇幅限制,在这里就简单的概述一下,不作详细论述,后期有时间或者有朋友需要,再论述。

 定义:特性路由就是将路由URL定义在控制器上或控制器内的方法上,而不像传统路由将路由URL定义在RouteConfig.cs中。对比如下

 

3 路由生成URL

   路由两个重要职责:匹配传入的URL请求和构造与特定路由对应的URL,概括之匹配URL和构造URL。在生成URL时,生成URL的情趣应该首先与选择用来生成URL的路由相匹配,这样路由就可以在处理传入或传出的URL时成为完整的双向系统。原则上,开发人员应该提供一组路由值,以便路由系统从中选中第一个能够匹配URL的路由。

 3.1 URL生成的高层系概述

  路由的核心是一个非常简单的算法,该算法基于一个由RouteCollection类和RouteBase类组成的简单抽象对象。可以采用多种方法来生成URL,但这些方法都以调用RouteCollection.GetVirtualPath的一个重载方法而结束。RouteCollection.GetVirtulPath方法公有两个重载版本,下面的代码展示它们的方法签名:

 

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

相关文章
  • Asp.Net WebForm生命周期的详解 - 天使不哭

    Asp.Net WebForm生命周期的详解 - 天使不哭

    2017-06-15 09:00

  • 关于ASP.NET WebForm与ASP.NET MVC的比较 - 天使不哭

    关于ASP.NET WebForm与ASP.NET MVC的比较 - 天使不哭

    2017-06-09 09:02

  • [asp.net mvc 奇淫巧技] 04 - 你真的会用Action的模型绑定吗? - Emrys5

    [asp.net mvc 奇淫巧技] 04 - 你真的会用Action的模型绑定吗? - Emr

    2017-06-02 13:00

  • Amazing ASP.NET Core 2.0 - Savorboard

    Amazing ASP.NET Core 2.0 - Savorboard

    2017-05-25 14:00

网友点评
E