действительно помогает улучшить качество вашего поста. Помните, что вы отвечаете на вопрос читателей в будущем, и эти люди могут не знать причин, по которым вы предлагаете код.
я есть главная страница с выпадающим списком выбора языка
у него есть несколько подстраниц, использующих главную страницу, но на подстраницах (я создал класс basePage, от которого я затем позволяю страницам наследоваться) я переопределяю initializeCulture. нравится:
protected override void InitializeCulture()
{
String selectedLanguage = Common.SessionManager.Language;
if (selectedLanguage == "")
{
selectedLanguage = ConfigurationManager.AppSettings.Get("defaultLanguage");
}
if (selectedLanguage == "")
{
selectedLanguage = "nl-BE";
}
UICulture = selectedLanguage;
Culture = selectedLanguage;
Thread.CurrentThread.CurrentCulture = CultureInfo.CreateSpecificCulture(selectedLanguage);
Thread.CurrentThread.CurrentUICulture = new CultureInfo(selectedLanguage);
base.InitializeCulture();
}
в событии SelectedIndexChanged раскрывающегося списка я установил новый язык в сеансе следующим образом:
protected void LanguageSelectorSelectedIndexChanged(object sender, EventArgs e)
{
string sCulture = LanguageSelector.SelectedValue;
Common.SessionManager.Language = sCulture;
}
но initializeCulture уже был запущен.
так что у меня есть эффект задержки, страница загружается с предыдущим языком, а на следующем постбэке она переведена правильно.
я не могу снова вызвать initializeCulture, потому что я на главной странице, и у меня нет доступа к классу basePage подстраницы.
Кто-нибудь есть идеи, как справиться с этим?