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