0

我已经进行了一些研究,而这样做的唯一方法似乎是在 Web 应用程序的每个页面中覆盖 InitializeCulture 方法。事情是,我的应用程序有 80 页,所以我想知道是否有另一种更容易的方法。

 protected override void InitializeCulture()
    {
        if (Session["CultureLang"] != null)
        {
            string selectedLanguage = Session["CultureLang"].ToString();
            if (selectedLanguage == "True")
                selectedLanguage = "en-US";
            Thread.CurrentThread.CurrentCulture = CultureInfo.CreateSpecificCulture(selectedLanguage);
            Thread.CurrentThread.CurrentUICulture = new CultureInfo(selectedLanguage);
        }
        base.InitializeCulture();
    }

我在 web.config 文件中有这个:

<globalization culture="auto" uiCulture="auto" requestEncoding="UTF-8" responseEncoding="UTF-8" fileEncoding="UTF-8"/>

注意:我更改语言的按钮位于自定义 web 控件中,如果这有任何改变的话。

4

1 回答 1

2

class添加一个包含文化感知代码的基础怎么样,然后你的 80 多个页面继承自这个基础类。

就像是:

public abstract class CultureAwarePage : Page
{
   protected override void InitializeCulture() { ... }
}

public partial class MyPage1 : CultureAwarePage
{
  ...
}
于 2013-02-08T20:55:24.187 回答