Asp.net mvc 4 Routelink在区域设置更改时生成不同的URL

Asp.net mvc 4 Routelink在区域设置更改时生成不同的URL,asp.net-mvc-4,localization,asp.net-mvc-routing,Asp.net Mvc 4,Localization,Asp.net Mvc Routing,我的网站可以用荷兰语、英语和德语阅读。用户可以通过单击页面顶部的标志来选择他们喜欢的语言。链接的呈现方式如下所示: <ul class="nav navbar-nav navbar-right flag"> @if (Request.IsAuthenticated) { if (model.AvailableLanguages.Contains("NL")) { &

我的网站可以用荷兰语、英语和德语阅读。用户可以通过单击页面顶部的标志来选择他们喜欢的语言。链接的呈现方式如下所示:

<ul class="nav navbar-nav navbar-right flag">
                @if (Request.IsAuthenticated) {
                    if (model.AvailableLanguages.Contains("NL")) {
                        <li class="flagNL" title="Nederlands">@Html.RouteLink(" ", new { locale = "nl-NL" })</li>
                    }

                    if (model.AvailableLanguages.Contains("DE")) {
                        <li class="flagDE" title="Deutsch">@Html.RouteLink(" ", new { locale = "de-DE" })</li>
                    }

                    if (model.AvailableLanguages.Contains("EN")) {
                        <li class="flagGB" title="English">@Html.RouteLink(" ", new { locale = "en-GB" })</li>
                    }
                }
                else {
                    var qs = (!string.IsNullOrEmpty(Request.QueryString.ToString()) && Request.QueryString["ReturnUrl"] != null) ? Request.QueryString["ReturnUrl"] : string.Empty;

                    if (model.AvailableLanguages.Contains("NL")) {
                        <li class="flagNL" title="Nederlands">@Html.RouteLink(" ", new { locale = "nl-NL", ReturnUrl = Server.UrlDecode(qs) })</li>
                    }

                    if (model.AvailableLanguages.Contains("DE")) {
                        <li class="flagDE" title="Deutsch">@Html.RouteLink(" ", new { locale = "de-DE", ReturnUrl = Server.UrlDecode(qs) })</li>
                    }

                    if (model.AvailableLanguages.Contains("EN")) {
                        <li class="flagGB" title="English">@Html.RouteLink(" ", new { locale = "en-GB", ReturnUrl = Server.UrlDecode(qs) })</li>
                    }
                }
            </ul>

请发布您的路由表配置。如果不知道路由是如何配置的,则无法回答有关路由的问题。请编辑到问题@nightowl888查看。
public static void RegisterRoutes(RouteCollection routes) {
            routes.IgnoreRoute("{resource}.axd/{*pathInfo}");

            routes.IgnoreRoute("favicon.ico");

            State state = new State();

            routes.MapRoute(
                name: "Localization",
                url: "{locale}/{controller}/{action}/{id}",
                defaults: new { locale = "nl-NL", controller = "Home", action = "Index", id = UrlParameter.Optional },
                constraints: new { locale = "[a-zA-Z]{2}-[a-zA-Z]{2}" }
            );

            routes.MapRoute(
                name: "Default",
                url: "{controller}/{action}/{id}",
                defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
            );
        }