c# - .NET 语言配置

标签 c# asp.net localization culture

我正在尝试使用 .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语言。

最佳答案

答案在这里

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 );
    }

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

关于c# - .NET 语言配置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41056438/

相关文章:

localization - 在 asp.net 核心上本地化枚举条目

c# - Lucene.net - 如何从每场比赛中提取一小段文本?

c# - 设置元 :resourcekey on page load

c# - 如何从后面的代码中显示 Bootstrap 弹出窗口?

asp.net - 在网站中获取 *.aspx 的代码

c# - 在 Unity 中进行本地化的最佳方式

ios - 过滤韩语单词/字符?

c#读取属性值

c# - 程序集.CreateInstance() : how to enforce Interface implementation

javascript - 当 asp :Textbox disabled 时禁用 DatePicker