【问题标题】:.NET Language Configuration.NET 语言配置
【发布时间】:2016-12-09 08:48:26
【问题描述】:

我正在尝试使用 .NET MVC Web 应用程序设置语言

这是我的 SetCulture 函数;

        public ActionResult SetCulture( string lan ) {
        string Culture = Request.QueryString.Get( "lan" );

        // Validate input
        Culture = CultureHelper.GetImplementedCulture( Culture );
        // Save culture in a cookie
        HttpCookie cookie = Request.Cookies[ "_culture" ];
        if ( cookie != null )
            cookie.Value = Culture;   // update cookie value
        else {
            cookie = new HttpCookie( "_culture" );
            cookie.Value = Culture;
            cookie.Expires = DateTime.Now.AddYears( 1 );
        }
        Response.Cookies.Add( cookie );
        //Session["_culture"] = Culture;
        return RedirectToAction( "../Home/Index" );
    }

这是第一个问题; 当页面http://localhost:55616/Home/Index 打开时,可以更改语言。 但是,当http://localhost:55616 打开时,它会自动刷新,但不会更改语言。

这是第二个问题; 可以看出,我将页面重定向到../Home/Index 页面。但是我需要将页面重定向到自身,例如,当它在../Home/UserSettings时,更改语言后它将是../Home/UserSettings

【问题讨论】:

  • 第一个问题,您可以逐步调试以查看两个 url 之间有什么不同;第二个问题您可能需要一个参数作为 returnUrl,您可以在更改语言后重定向到该参数
  • 您知道发送哪个页面语言更改请求吗?
  • 您可以传递一个参数来显示发送语言更改请求的页面

标签: c# asp.net localization culture


【解决方案1】:

这就是答案

public ActionResult SetCulture( string lan ) {
        string Culture = Request.QueryString.Get( "lan" );
        var returnUrl = Request.UrlReferrer;
        // Validate input
        Culture = CultureHelper.GetImplementedCulture( Culture );
        // Save culture in a cookie
        HttpCookie cookie = Request.Cookies[ "_culture" ];
        if ( cookie != null )
            cookie.Value = Culture;   // update cookie value
        else {
            cookie = new HttpCookie( "_culture" );
            cookie.Value = Culture;
            cookie.Expires = DateTime.Now.AddYears( 1 );
        }
        Response.Cookies.Add( cookie );
        //Session["_culture"] = Culture;
        return Redirect( returnUrl.OriginalString );
    }

Request.UrlReferrer;返回发送请求的页面。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-02-09
    • 2021-12-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-09-07
    相关资源
    最近更新 更多