2012-11-09 124 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