2014-09-23 3 views
0

Я пытаюсь установить культуру и культуру ui в Page_Load страницы .aspx.cs. Я попыталсяУстановить культуру на странице C# backend

Thread.CurrentThread.CurrentUICulture = new System.Globalization.CultureInfo("fr-CA"); 

и

CultureInfo ci = new CultureInfo("fr-CA"); 
Thread.CurrentThread.CurrentCulture = ci; 
Thread.CurrentThread.CurrentUICulture = ci; 

и

Culture = "fr-CA"; 
UICulture = "fr-CA"; 

, но ни один из них не работает. Кто-нибудь знает, как установить культуру и пчеловодство?

Спасибо!

+0

Что вы ожидали от случившегося и что произошло? Как вы протестировали? –

+0

@ErnodeWeerd Я использую файлы resx, которые используют текущую культуру для отображения страницы на требуемом языке – starvator

ответ

0

Я нашел решение: переопределить InitializeCulture. Это то, на что похоже, когда я включил файлы cookie и использовал текущий файл cookie для установки языка страницы.

protected override void InitializeCulture() 
    { 

     HttpCookie cookie = Request.Cookies["CurrentLanguage"]; 
     if (!IsPostBack && cookie != null && cookie.Value != null) 
     { 
      if (cookie.Value.ToString() == "en-CA") 
      { 
       // currently english 
       System.Threading.Thread.CurrentThread.CurrentUICulture = new System.Globalization.CultureInfo("en-CA"); 
       System.Threading.Thread.CurrentThread.CurrentCulture = new System.Globalization.CultureInfo("en-CA"); 
       base.InitializeCulture(); 
      } 
      else 
      { 
       //currently french 
       System.Threading.Thread.CurrentThread.CurrentUICulture = new System.Globalization.CultureInfo("fr-CA"); 
       System.Threading.Thread.CurrentThread.CurrentCulture = new System.Globalization.CultureInfo("fr-CA"); 
       base.InitializeCulture(); 
      } 
     } 
    } 
Смежные вопросы