欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

ASP.NET RouteModule相关的一些东西

程序员文章站 2022-04-13 10:26:56
Asp.NET中的路由配置,首先要提到的几个相关类型,Route ,RouteBase,RouteData,RouteTable,RouteCollection 这几个。下面我一次回忆一下,有需要的朋友也可以作为参考,如果有问题也可以在留言区指出来,高手路过也请提出一些宝贵的意见。 ①Route 这 ......

    Asp.NET中的路由配置,首先要提到的几个相关类型,Route ,RouteBase,RouteData,RouteTable,RouteCollection 这几个。下面我一次回忆一下,有需要的朋友也可以作为参考,如果有问题也可以在留言区指出来,高手路过也请提出一些宝贵的意见。

①Route 这个类继承了RouteBase这个抽象类,Route类型中几个重要的属性:RouteHandler,它是最重要的一个属性,作用是真正执行路由的功能。这里有个小技巧 当你看到DemoHandler 类似这样的以Handler结尾的时候 该属性是最后用来执行的。

1)Constaints 约束,路由模板约束 ,它的类型是RouteValueDictionary字典类型key表示的是路由模板中的变量名称,value表示匹配的正则表达式。

3)Defaults

② RouteBase这个抽象类中主要有两个重要的方法 GetRouteData(获取路由数据)和GetVirtualPath(获取完整的虚拟路径)

③RouteData

1)Values,表示最后得到的参数

2)RouteHandler

④RouteTable这个类可以用来在asp.net应用程序启动的时候进行Url重写,重写的方法有2个,MapPageRoute和Ignore,第一个是物理文件和路由Url之间的映射,另外一个是忽略物理文件和路由Url之间的映射。即屏蔽。

 

protected void Application_Start()
{
    ///路由重写
    var defaults = new RouteValueDictionary { { "name", "" }, { "id", "" } };
    RouteTable.Routes.MapPageRoute("", "api/{name}/{id}", "~/default.aspx", true, defaults);

 

    GlobalConfiguration.Configure(WebApiConfig.Register);
}

 

⑤RouteCollection是Route的集合