2010-04-15 86 views
1

我需要根據用戶選擇選擇語言並將其設置爲整個會話。 任何人都可以建議我需要做什麼這些設置,我該怎麼做?設置本地化/全球化的用戶語言

+1

什麼樣的會議,設置當前線程的解決方案?這是關於asp.net嗎? – 2010-04-15 04:35:12

+0

是它的一個網站。 – 2010-04-15 04:37:50

回答

0

我在Global.asax的

protected void Application_PreRequestHandlerExecute(Object sender, EventArgs e) 
     {   
      if (HttpContext.Current.Session != null) 
      { 
       if (HttpContext.Current.Session["userCultureInfo"] != null) 
       { 
        Thread.CurrentThread.CurrentUICulture = new CultureInfo(Session["userCultureInfo"].ToString()); 

       } 
      } 
     } 
2

請參閱CultureInfo。 可以找到一個教程here。簡述:改變Thread.CurrentThread.CurrentUICultureThread.CurrentThread.CurrentCulture

+0

它的好處,但我需要爲整個應用程序設置此。 我試着重寫頁面的InitializeCulture()方法。但是,這又僅僅爲頁面設置了文化。當我導航到另一個頁面時,這些設置不起作用 – 2010-04-15 05:03:35

+0

爲整個應用程序設置文化的一種方法是在web.config的全球化標記中進行設置。但我需要以編程方式進行。我的意思是這將基於用戶的選擇。那麼我需要動態地改變web.config嗎? – 2010-04-15 05:06:57

+0

還是有可能與global.asax文件? – 2010-04-15 05:09:10