【问题标题】:Asp.Net MapPageRoute and Folder PathAsp.Net MapPageRoute 和文件夹路径
【发布时间】:2013-12-28 09:32:06
【问题描述】:

我有,在 global.asax 的 Application_Start 中

    routes.MapPageRoute("Route2", "public/{folder2}/{folder1}/{page}", "~/userpage.aspx", true);
    routes.MapPageRoute("Route1", "public/{folder1}/{page}", "~/userpage.aspx", true);
    routes.MapPageRoute("Route0", "public/{page}", "~/userpage.aspx", true);

所以每个文件(没有扩展名)位于

  • public/folder2/folder1
  • 公共/文件夹1
  • 公开

映射到~/userpage.aspx。

我可以只使用一个规则来包含其他路径,例如

  • public/{folder4}/{folder3}/{folder2}/{folder1}/{page}
  • public/{folder3}/{folder2}/{folder1}/{page}

这将被映射到 ~/userpage.aspx?

【问题讨论】:

    标签: asp.net webforms asp.net-routing


    【解决方案1】:

    您可以使用 catch all 参数。通过在参数名称的开头添加 * 字符来定义 catch all 参数。它只能在路由定义的末尾使用,它会用斜杠捕获原始 url 字符串。

    在您的示例中,这意味着您必须从 RouteData 对象手动解析 {page} 参数。

    routes.MapPageRoute("Route0", "public/{*fullpath}", "~/userpage.aspx", true);
    

    【讨论】:

      猜你喜欢
      • 2013-10-08
      • 1970-01-01
      • 2011-07-22
      • 2016-12-31
      • 1970-01-01
      • 1970-01-01
      • 2012-01-27
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多