2013-05-11 61 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