2010-04-15 87 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