使用MapWebPageRoute

时间:2016-12-14 00:15:49

标签: razor webmatrix asp.net-webpages

在ASP.NET网页项目(不是Web窗体,而不是MVC)中,我正在使用Mike Brind More Flexible Routing For ASP.NET Web Pages

我想创建一条路线来接收任意数量的路线元素,但以特定字词结尾,例如:

  • mydomain.com/route1/word
  • mydomain.com/route1/route2/word
  • mydomain.com/route1/route2/route3/word
  • ......等等

我在映射路线时尝试使用通配符但是没有用,例如:

RouteTable.Routes.Ignore("{*routes}/word");

有没有办法映射这些路线可能性,或者我是否必须为每种可能性创建路线,例如:

  • RouteTable.Routes.MapWebPageRoute("{route1}/word", "~/mypage.cshtml");
  • RouteTable.Routes.MapWebPageRoute("{route1}/{route2}/word", "~/mypage.cshtml");
  • RouteTable.Routes.MapWebPageRoute("{route1}/{route2}/{route3}/word", "~/mypage.cshtml");
  • ......等等

1 个答案:

答案 0 :(得分:1)

我最终找到了解决方案。

RouteTable.Routes.MapWebPageRoute("{*routes}",
    "~/mypage.cshtml",
    constraints: new { routes = @".*(/word)" });

所以使用约束就是答案。