我已经完成了一些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控件中,如果更改了任何内容。
答案 0 :(得分:2)
如何添加包含文化感知代码的基础class
,那么您的80多个页面将从此基类继承。
类似的东西:
public abstract class CultureAwarePage : Page
{
protected override void InitializeCulture() { ... }
}
public partial class MyPage1 : CultureAwarePage
{
...
}