现在的位置: 首页 > 综合 > 正文

在MasterPage中实现本地化

2012年10月29日 ⁄ 综合 ⁄ 共 486字 ⁄ 字号 评论关闭
MasterPage是一个很怪的家伙,说是Page,但却是从UserControl而不是Page类派生的,所以很多Page有的东东它都没有,比如InitializaCulture()。那么在MasterPage中实现本地化就要稍微麻烦一点了:

先把要使用的语言的信息(如International Language Code,像zh-CN、en-US这样的)存到Cookie里,再刷一次页面。

然后在Global.asax的Application_BeginRequest()里面根据Cookie里的内容设置Thread.CurrentThread.CurrentUICulture和Thread.CurrentThread.CurrentCulture,这就是前面必须刷一次页面的原因,在它的生命周期以前先把语言设置好。

其他的代码和一般页面的本地化差不多。

这样把本地化做在BeginRequest还有一个好处就是不用在每页写代码了,比做一个从Page派生的基类来InitializeCulture还方便,同时用基类的方法对MasterPage里的控件也不好控制。

这里是一个例子。

抱歉!评论已关闭.