Настройки локализации после входа не работают - PullRequest
1 голос
/ 21 июня 2011

У меня есть приложение dotnetnuke, и я сделал пользовательский модуль входа в систему.И все работает отлично, за исключением загрузки предложенной пользователем локали.Если пользовательский язык по умолчанию установлен на немецкий, я хочу изменить язык с английского на немецкий после входа в систему.Я пишу этот код ниже, но он работает на моей локальной установке, но не на реальном сервере: (

string p = this.UserInfo.Profile.PreferredLocale;
               System.Threading.Thread.CurrentThread.CurrentCulture = new System.Globalization.CultureInfo(p);

Ответы [ 3 ]

1 голос
/ 22 июня 2011

Ха, я понял:)

string lang = objUser.Profile.PreferredLocale;
                Response.Redirect(DotNetNuke.Common.Globals.NavigateURL(this.TabId, true, this.PortalSettings, String.Empty, lang), true);
1 голос
/ 21 июня 2011

DNN обрабатывает изменение языка для вас; вам не нужно этого делать (и, вероятно, вы сталкиваетесь с конфликтами с DNN).

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

0 голосов
/ 22 июня 2011

Я должен признать, что до сих пор не работал с DNN, но если вы просто хотите избежать этого, вы можете просто сохранить выбранную культуру (т. Е. Тег IETF) в переменной сеанса и создать наследующий класс. Page, который реализуют все ваши страницы, который переопределяет InitializeCulture и устанавливает CurrentCulture и CurrentUICulture.

...