Razor 使用MapWebPageRoute映射路由时使用通配符

Razor 使用MapWebPageRoute映射路由时使用通配符,razor,webmatrix,asp.net-webpages,Razor,Webmatrix,Asp.net Webpages,在ASP.NET网页项目(不是Web表单,不是MVC)中,我使用的是Mike Brind的 我想创建一个路由,该路由可拾取任意数量的路由元素,但以特定单词结尾,例如: mydomain.com/route1/word mydomain.com/route1/route2/word mydomain.com/route1/route2/route3/word …等等 我尝试在映射路线时使用通配符,但没有成功,例如: RouteTable.Routes.Ignore(“{*Routes}/wo

在ASP.NET网页项目(不是Web表单,不是MVC)中,我使用的是Mike Brind的

我想创建一个路由,该路由可拾取任意数量的路由元素,但以特定单词结尾,例如:

  • 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”)
  • …等等

我最终找到了解决办法

RouteTable.Routes.MapWebPageRoute("{*routes}",
    "~/mypage.cshtml",
    constraints: new { routes = @".*(/word)" });
因此,使用约束就是答案