在实现多语言的时候,我们会使用GetGlobalResourceObject,在服务器控件中显示多语言文本要使用<%$ Resources:Common, Export %>,
但是在设置当前线程语言环境的时候,如果将 Thread.CurrentThread.CurrentUICulture = new CultureInfo("当前语言");
这句代码写到Page Load中,会发现<%$ Resources:Common, Export %>不起作用,其实画面事件中有一个InitializeCulture方法,
这个方法专门用来设置当前语言环境,需要我们重写InitializeCulture事件,把Thread.CurrentThread.CurrentUICulture = new CultureInfo("当前语言");写到protected override void InitializeCulture() 事件内,问题就解决了。
附上一张图,看看方法和事件的执行顺序