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

本文关键字:语言 应用程序 web 更改 | 更新日期: 2023-09-27 17:58:19

我已经进行了一些重新搜索,唯一的方法似乎是覆盖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控件中。

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

添加一个包含区域性代码的基本class,然后您的80多个页面从这个基类继承。

类似于:

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