2013-05-11 48 views
0

我已经使用资源文件来创建多langual mvc3应用程序。在_viewStart.cshtml我有这两条线,这使得认为loclization适用于除局部视图的所有视图,其是从ajax.form本地化mvc ajax窗体和局部视图

System.Threading.Thread.CurrentThread.CurrentUICulture = new System.Globalization.CultureInfo(AsoMvcApp.MySession.Current); 
System.Threading.Thread.CurrentThread.CurrentCulture = System.Globalization.CultureInfo.CreateSpecificCulture(AsoMvcApp.MySession.Current); 

渲染当我检查的CurrentUICulture针对其从呈现的局部视图从ajax表单调用的动作仍然是默认的,而不是chnaged。当我将这些添加到部分视图开始时的代码行时,它工作正常。但我不想将其添加到所有部分视图。它一定是一个更好的方法。

回答

3

它必须是一个更好的方法。

是的,而不是把这个代码在你_ViewStart.cshtml把它放在Application_AcquireRequestState方法在Global.asax

+0

谢谢您的回答, 不,它是不可能的我,因为我救的CultureInfo在会话和HttpContext.Current.Session为null。 – user217648 2013-05-11 17:43:21

+1

你是对的,会话在BeginRequest方法中尚不可用。改为使用Application_AcquireRequestState事件。我已经相应地更新了我的答案。 – 2013-05-11 17:54:13

+0

它对性能有一些影响吗? – user217648 2013-05-11 18:02:04