Мне нужно выбрать язык по выбору пользователя и установить его для всего сеанса. Может ли кто-нибудь предложить, где мне нужно делать эти настройки и как я могу это сделать?Настройка языка пользователя для локализации/глобализации
ответ
Я получил решение, установив текущий поток в global.asax
protected void Application_PreRequestHandlerExecute(Object sender, EventArgs e)
{
if (HttpContext.Current.Session != null)
{
if (HttpContext.Current.Session["userCultureInfo"] != null)
{
Thread.CurrentThread.CurrentUICulture = new CultureInfo(Session["userCultureInfo"].ToString());
}
}
}
См. CultureInfo. Учебник можно найти here. Кратко: изменение Thread.CurrentThread.CurrentUICulture
и Thread.CurrentThread.CurrentCulture
его хорошо, но мне нужно установить его для всего приложения. Я попытался переопределить метод InitializeCulture() на странице. Но это снова устанавливает культуру только для страницы. И когда я перехожу на другую страницу, эти настройки не работают –
. Один из способов установить культуру для всего приложения - это установить это в тег глобализации web.config. Но мне нужно сделать это программно. Я имею в виду, что это будет основано на выборе пользователя. Так что мне нужно динамически вносить изменения в web.config? –
Или есть ли возможность с файлом global.asax? –
какой сессии? это о asp.net? –
да его сайт. –