InitializeCulture сменить язык домена - PullRequest
0 голосов
/ 21 сентября 2010

У меня есть MasterPage с комбо с языками, дело в том, что я хотел бы назначить язык по умолчанию в тот момент, когда пользователь запускает приложение, после чего пользователь может переключаться между языками.Я понимаю, что мне нужно переопределить метод InitializeCulture на всех страницах, проблема в том, где я могу сохранить выбранный язык?Когда я использую Cache ["Culture"], все пользователи, которые запускают приложение, совместно используют один и тот же Cache и переопределяют значение для всех пользователей, вошедших в систему.

Как я могу это сделать?или как я могу сохранить данные для одного потока пользователя, когда он не вошел в систему?

Заранее благодарен за любую помощь.

Ответы [ 2 ]

3 голосов
/ 21 сентября 2010

используйте объект Session для данных, относящихся к сеансам, если вам нужно сохранить выбор после сеанса, вам нужно будет сохранить его с любыми пользовательскими данными, которые у вас есть

Session["Culture"] = yourculturevar;
2 голосов
/ 21 сентября 2010

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

Установка Cookie

private void SetLanguageCookie(string language)
{
    HttpCookie cookie = new HttpCookie("UserSelectedLanguage", language);
    // Optionally set expiration for cookie
    cookie.Expires = DateTime.Now.AddDays(30);
}

Получение Cookie

private string GetLanguageCookie()
{
    HttpCookie cookie = Request.Cookies["UserSelectedLanguage"];
    return cookie.Value;
}
...