Изменение языка / культуры в веб-приложении ASP.NET с поддержкой Ajax - PullRequest
0 голосов
/ 05 февраля 2010

Я реализовал веб-приложение ASP.NET, которое поддерживает 5 разных языков.

Веб-приложение имеет 5 файлов .resx, которые содержат ресурсы, необходимые для отображения веб-сайта на поддерживаемых им языках. Чтобы отобразить сайт на языке, выбранном пользователем, я установил Thread.CurrentThread.CurrentUICulture и Thread.CurrentThread.CurrentUICulture в событие страницы InitializeCulture.

Некоторые страницы имеют панели обновления, обернутые вокруг содержимого.

Из того, что я помню (3 года назад, когда я исследовал глобализацию), для того, чтобы изменить культуру, вы должны сделать полное обновление страницы.

Так вот в чем проблема:

Пользователь открывает вкладку и начинает работать с некоторой страницей, на которой имеется панель обновления, окружающая содержимое.

Затем пользователь открывает другую вкладку и выбирает новый язык.

Пользователь возвращается к исходной вкладке и вызывает обратную передачу на сервер ... в этот момент страница никогда не возвращает управление пользователю.

Как мне обойти эту проблему?

Спасибо

-Frinny

1 Ответ

0 голосов
/ 31 мая 2010

Чтобы обойти эту проблему, я в конечном итоге сохранил культурные настройки пользователя в HiddenField для каждой страницы (действительно, это было сделано в MasterPage). Таким образом, я могу получить доступ к исходным настройкам языка / языка пользователя в событии Page InitializeCulture. Пользователь должен будет нажать ввод на URL-адресе или выйти из страницы, чтобы использовать язык / культуру по умолчанию, выбранные на другой вкладке.

...