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)));