我的特定控制器的路线图有问题。我为此找了一些其他的答案,但我没有帮助我很多。
关于死记硬背图,我有:
routes.MapRoute(
name: "Default",
url: "{culture}/{controller}/{action}/{id}",
defaults: new { culture = LanguageHelper.GetDefaultCultureToken(), controller = "Forum", action = "Overview", id = UrlParameter.Optional },
namespaces: new string[] { "MyForum.Controllers" }
);
routes.MapRoute(
name: "AccRoute",
url: "Account/{action}/{id}",
defaults: new { controller = "Account", action = "Overview", id = UrlParameter.Optional },
namespaces: new string[] { "MyForum.Controllers" }
);
我的问题是,第二张路线图不起作用。 我找不到具有以下链接的路线:“〜/ account / confirm / iHUeMMOL9XA2vqqV6XGJ-w2”
祝你好运!
答案 0 :(得分:3)
该URL与第一条路线匹配,以避免您需要使用约束,例如:
routes.MapRoute(
name: "Default",
url: "{culture}/{controller}/{action}/{id}",
defaults: new { culture = LanguageHelper.GetDefaultCultureToken(), controller = "Forum", action = "Overview", id = UrlParameter.Optional },
constraints: new { culture = @"[a-z]{2}-[a-z]{2}" },
namespaces: new string[] { "MyForum.Controllers" });
不确定我的正则表达式适合您,但您明白了。这样,细分account
将不匹配。