У меня есть главная страница с выпадающим списком выбора языка
она имеет несколько подстраниц, использующих главную страницу, но на подстраницах (я создал класс 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 подстраницы.
у кого-нибудь есть идеи, как с этим справиться?