我已经进行了一些研究,而这样做的唯一方法似乎是在 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 控件中,如果这有任何改变的话。