C# 路由(Route)


Route能做什么?

ASP.NET 路由使我们在浏览器中看到的URL地址,映射到的页面并不一定是程序中真正存在的物理文件。这样有助于我们保护物理页面。

那怎样使用路由呢?

ASP.NET提供了RouteTable类来进行存储应用程序的URL路由。

今天做了个粗略的了解,只是了解。。

1.建立一个Web站点。(如果没有Global.asax文件,请添加)

2.添加路由项

protected void Application_Start(object sender, EventArgs e)
{
RouteTable.Routes.Add("R_1", new Route("MyPath/{pathParameter}", new RouteValueDictionary { {"pathParameter", "defaultValue" }}, new RouteValueDictionary { {"pathParameter", "yes|no" }}, new PageRouteHandler("~/Target.aspx", false)));

}
说明:当URL为:http://www.xxxx.com/mypath/xxx 时,就会跳转到Target.aspx页面中。


Route类的构造函数,可以通过查帮助来获得。
1.
public
Route(string url, IRouteHandler routeHandler);

url:路由的 URL 模式(即:要匹配的URL)
routeHandler:处理路由请求的对象。
2.
public Route(string url, RouteValueDictionary defaults, IRouteHandler routeHandler);
url:路由的 URL 模式(即:要匹配的URL)
defaults:当没有参数时,默认的参数值
routeHandler:处理路由请求的对象。

还有其他的几种,就不一一列举了,暂时也没用过。




可以根据不同的构造函数,对URL进行更精确的约定。

设置多个参数多个参数

IDictionary<string, string> dic = new Dictionary<string, string>();
dic.Add("p1", "value1");
dic.Add("p2", "value2");

RouteTable.Routes.Add("R_1", new Route("MyPath/{pathParameter}", new RouteValueDictionary (dic), new PageRouteHandler("~/Target.aspx", false)));







 

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM