我想尽可能缩短网址。在我的基本控制器中,我正在设置一些默认值。我的路线是;
routes.MapRoute(
name: "SeoLink",
url: "{SeoLink}",
defaults: new { controller = "Default", action = "Default"}).DataTokens.Add("area", "Site");
routes.MapRoute(
name: "NewLanguage",
url: "{NewLanguage}",
defaults: new {controller = "Default", action = "Default"}).DataTokens.Add("area", "Site");
如您所见,它们是相同的。当我使用Html.RouteLink检查它是否在Base Controller中作为NewLanguage url值时,它不会绕过第一个SeoLink路由。 NewLanguage值与SeoLink值相似。为什么呢?
@Html.RouteLink("English", "NewLanguage", new RouteValueDictionary(new { NewLanguage = "en" }),null)
我知道有更好更正确的方法。但只是想了解RouteLink的工作原理。