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