2016-12-14 3 views
1

Dans un projet Pages Web ASP.NET (pas Web Forms, pas MVC), j'utilise le More Flexible Routing For ASP.NET Web Pages de Mike Brind.Utilisation de caractères génériques lors du mappage d'itinéraires avec MapWebPageRoute

Je veux créer un itinéraire qui prend ups un certain nombre d'éléments de l'itinéraire mais se terminant par un mot spécifique, par exemple:

  • mydomain.com/route1/word
  • mydomain.com/route1/route2/mot
  • mydomain.com/route1/route2/route3/word
  • ... etc etc

J'ai essayé d'utiliser des jokers lors du mappage de la route assi à ne fonctionnait pas, par exemple:

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

est-il un moyen de cartographier ces possibilités d'itinéraire ou dois-je créer un itinéraire pour chaque possibiility, par exemple:

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

Répondre

1

J'ai finalement trouvé une solution à cela.

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

L'utilisation de contraintes a donc été la solution.