【发布时间】:2009-07-08 16:02:41
【问题描述】:
我正在开发一个 asp.net Web 应用程序,其中一项要求是用户必须能够选择他们想要的语言。我正在使用 Resx 文件来存储本地人。我的问题是每次加载页面时我是否需要更改线程的 CurrentCulture,或者有没有办法在登录用户从一个页面移动时自动处理它到下一个。
【问题讨论】:
标签: asp.net globalization resx
我正在开发一个 asp.net Web 应用程序,其中一项要求是用户必须能够选择他们想要的语言。我正在使用 Resx 文件来存储本地人。我的问题是每次加载页面时我是否需要更改线程的 CurrentCulture,或者有没有办法在登录用户从一个页面移动时自动处理它到下一个。
【问题讨论】:
标签: asp.net globalization resx
是的,我相信您每次都需要设置它。更糟糕的是,您必须重写 Page 类的 InitializeCulture 方法。我创建了一个 SitePage,我的项目中的所有页面都继承自而不是 Page 来执行此操作。
public class SitePage : Page
{
protected override void InitializeCulture()
{
base.InitializeCulture();
// Set both the CurrentCulture (for currency, date, etc) conversion, and the CurrentUICulture for resource file lookup.
Thread.CurrentThread.CurrentCulture = whatever;
Thread.CurrentThread.CurrentUICulture = Thread.CurrentThread.CurrentCulture;
}
}
【讨论】: