ASP.. NET MVC路由不起作用

本文关键字:不起作用 路由 MVC NET ASP | 更新日期: 2023-09-27 18:12:38

我有两条不同的路线:

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

第二:

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

当我转到mydomain.com/aaaa-vip-thank-you时,它应该使用第二条路由,但我不明白为什么它使用第一条路由。

ASP.. NET MVC路由不起作用

第一条路线太笼统了。

路由工作,第一个匹配找到的顺序,他们注册。

修改映射顺序

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 }
);