2010-09-21 3 views
0

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

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

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

ответ

3

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

Session["Culture"] = yourculturevar; 
2

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

Установка 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; 
} 
Смежные вопросы