0

我需要在每个 URL 上提供一个 pageId,但是我不需要用户看到这个 pageId。例如

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

1 回答 1

0

有没有办法配置这条路线,所以它有一个“硬编码”参数页面ID

为什么是的……是的。

MapPageRoute 有一个重载,它接受一组路由值的默认值。

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

所以现在如果你在没有指定“product-id”的情况下点击这条路线,它将始终默认为1

于 2012-11-09T05:14:33.890 回答