具有查询字符串的MVC本地化多语言

时间:2015-09-11 17:47:46

标签: c# asp.net asp.net-mvc asp.net-mvc-4 multilingual

我的代码有点问题。我对路由没有任何问题,但我想创建自动语言 =>当查询字符串更改比cookie更改时,它会影响到Culture。

我在使用ovveride方法的asp.net web项目上做了这个,但我不打算在mvc应用程序上这样做。因此,语言变化将很容易。如果你们可以帮助ASP.NET MVC项目,我会很高兴。

我的Global.asax代码针对这种情况:

 protected void Application_BeginRequest()
    {

        var routes = RouteTable.Routes;

        var httpContext = Request.RequestContext.HttpContext;
        if (httpContext == null) return;

        var routeData = routes.GetRouteData(httpContext);

        var lang_route = routeData.Values["lang"] as string;
        var cultureInfo = new CultureInfo(lang_route);


        System.Threading.Thread.CurrentThread.CurrentCulture = cultureInfo;
        System.Threading.Thread.CurrentThread.CurrentUICulture = cultureInfo;

        var lang_cookie = new HttpCookie("lang", cultureInfo.Name);
        lang_cookie.Expires.AddMonths(1);
        Response.Cookies.Add(lang_cookie);       
    }

此代码正在运行,但有时它会说" null"而且没有工作。我们如何解决这个问题。谢谢,

0 个答案:

没有答案