У меня есть приложение .Net в C #, и у меня есть файловая структура, например:
App_LocalResources
- MyPage.aspx.resx
- MyPage.aspx.fr.resx
MyPage.aspx
MyPage.aspx.cs
Я пытаюсь программно изменить язык, который сообщает приложению, какой файл resx использовать. Я хочу сделать это в коде файла (MyPage.aspx.cs).
Я пробовал оба из них в событиях OnPreRender, Page_Init и Page_Load:
Thread.CurrentThread.CurrentUICulture = new CultureInfo("fr-CA");
Thread.CurrentThread.CurrentCulture = new CultureInfo("fr-CA");
и это не работает. Страница по-прежнему показывает английский язык. Файл MyPage.aspx имеет следующее:
<h3><asp:Literal runat="server" Text="<%$ Resources:pageTitle %>" /></h3>
Обратите внимание, что мне наплевать на язык браузера. Это должно перевесить это. Я искал в Интернете это решение безрезультатно. Все примеры показывают переключение языка так, как я уже пробовал (выше), однако это не влияет на используемый файл ресурсов. Есть идеи?