2010-04-15 2 views
1

Мне нужно выбрать язык по выбору пользователя и установить его для всего сеанса. Может ли кто-нибудь предложить, где мне нужно делать эти настройки и как я могу это сделать?Настройка языка пользователя для локализации/глобализации

+1

какой сессии? это о asp.net? –

+0

да его сайт. –

ответ

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.CurrentUICulture и Thread.CurrentThread.CurrentCulture

+0

его хорошо, но мне нужно установить его для всего приложения. Я попытался переопределить метод InitializeCulture() на странице. Но это снова устанавливает культуру только для страницы. И когда я перехожу на другую страницу, эти настройки не работают –

+0

. Один из способов установить культуру для всего приложения - это установить это в тег глобализации web.config. Но мне нужно сделать это программно. Я имею в виду, что это будет основано на выборе пользователя. Так что мне нужно динамически вносить изменения в web.config? –

+0

Или есть ли возможность с файлом global.asax? –