2012-11-09 94 views
0

我需要在每個URL上提供pageId,但我不需要用戶看到此pageId。例如使用ASP.NET4的Webforms路由

http://{domain}/{product-name}/{product-id}/{pageid} <-- I don't want to provide this 

我有我的Global.asax:

routes.MapPageRoute("route-name", "path/{productName}/{product-id}", "~/ProductPage.aspx"); 

是否有某種方式來配置此路由,這樣它有一個「硬編碼」參數頁例如是這樣的ID - -

routes.MapPageRoute("route-name", "path/{productName}/{product-id}", "~/ProductPage.aspx?pageid=1"); 

回答

0

是否有某種方式來配置此路由,這樣它有一個「硬編碼」 參數頁ID

爲什麼是......是的。

MapPageRoute has an overload接受一組路由值的默認值。

//Create route and set default values 
routes.MapPageRoute(
    "route-name", 
    "path/{productName}/{product-id}", 
    "~/ProductPage.aspx", 
    false, 
    new RouteValueDictionary{ 
     {"product-id", 1} 
    }); 

所以,現在如果你打不指定「產品ID」這條路線,它會始終默認爲1