【问题标题】:EpiServer localization for AJAX pages用于 AJAX 页面的 EpiServer 本地化
【发布时间】:2014-02-12 00:35:55
【问题描述】:

我有一个使用 EpiServer CMS 7 的网站。

我对 ajax 调用后返回的内容语言有疑问。例如,在某个页面上我有一个链接,点击它后,AJAX 请求将被发送到服务器,内容将被返回并插入到特殊容器中。 我有以下 AJAX 请求的网址:

var urlStr= "/Folder1/Ajax/AddSomething.aspx?id=53&epslanguage=en&";

此链接始终在“epslanguage”参数中包含正确的语言。但是ajax调用后返回的内容始终是默认语言(瑞典语)。

我尝试调试并发现在 AddSomething.aspx 页面上我有以下全球化设置:

System.Globalization.CultureInfo.CurrentUICulture == "sv";
System.Threading.Thread.CurrentThread.CurrentUICulture == "sv";
EPiServer.Globalization.ContentLanguage.PreferredCulture == "en";

问题:我们如何为页面内容设置正确的语言?据我了解,EpiServer 知道正确的语言,但在我调用方法时仍然使用“sv”

EPiServer.Core.LanguageManager.Instance.Translate(string str);

提前感谢大家的帮助。

【问题讨论】:

    标签: c# asp.net episerver episerver-7


    【解决方案1】:

    我找到了可能的solution

    我在基类(用于 ajax 页面)中重写了 InitializeCulture() 方法并使用了以下代码:

    protected override void InitializeCulture() 
    {
        base.InitializeCulture();
    
        Thread.CurrentThread.CurrentUICulture = EPiServer.Globalization.ContentLanguage.PreferredCulture;
        Thread.CurrentThread.CurrentCulture = EPiServer.Globalization.ContentLanguage.PreferredCulture;
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-05-17
      • 2020-06-16
      • 1970-01-01
      • 2016-11-15
      • 1970-01-01
      • 1970-01-01
      • 2020-05-17
      相关资源
      最近更新 更多