2016-10-11 8 views
3

Ich habe 2 verschiedene Routen:ASP.NET MVC Route nicht funktioniert

context.MapRoute(
    "zyzzyva_default", 
    "{urlTitle}", 
    new { area = "zyzzyva", action = "Index", controller = "Home", urlTitle = UrlParameter.Optional } 
); 

und zweite:

context.MapRoute(
    "Vip_default_vip_thankyou", 
    "{partnername}-vip-thank-you", 
    new { controller = "Vip", action = "ThankYou", partnername = "" }, 
    new string[] { "Web.Areas.Vip.Controllers" } 
); 

Als ich nach mydomain.com/aaaa-vip-thank-you gehen sollte es die zweite Route benutzen, aber ich don verstehe nicht, warum es stattdessen die erste Route benutzt.

+1

Die erste Route ist zu allgemein. Routing funktioniert mit dem ersten gefundenen Match, in der Reihenfolge, in der sie registriert wurden. – Nkosi

Antwort

2

Die erste Route ist zu allgemein.

Routing funktioniert mit dem ersten gefundenen Treffer, in der Reihenfolge, in der sie registriert wurden.

Reihenfolge der Zuordnung ändern.

context.MapRoute(
    "Vip_default_vip_thankyou", 
    "{partnername}-vip-thank-you", 
    new { controller = "Vip", action = "ThankYou", partnername = "" }, 
    new string[] { "Web.Areas.Vip.Controllers" } 
); 

context.MapRoute(
    "zyzzyva_default", 
    "{urlTitle}", 
    new { area = "zyzzyva", action = "Index", controller = "Home",urlTitle = UrlParameter.Optional } 
); 
+0

Danke @Nikosi das ist Arbeit)))))))) – ArsenArm

Verwandte Themen