【问题标题】:Webforms routing with ASP.NET4使用 ASP.NET4 进行 Web 表单路由
【发布时间】:2012-11-09 00:59:16
【问题描述】:

我需要在每个 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");

【问题讨论】:

    标签: asp.net url-rewriting routing webforms


    【解决方案1】:

    有没有办法配置这条路线,所以它有一个“硬编码” 参数页面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}
       });
    

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-01-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-12-15
      • 2015-10-09
      • 1970-01-01
      相关资源
      最近更新 更多