更改Web应用程序的语言c#

时间:2013-02-08 20:40:59

标签: c# asp.net globalization

我已经完成了一些ressearch,唯一的方法是在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控件中,如果更改了任何内容。

1 个答案:

答案 0 :(得分:2)

如何添加包含文化感知代码的基础class,那么您的80多个页面将从此基类继承。

类似的东西:

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

public partial class MyPage1 : CultureAwarePage
{
  ...
}