asp.net을 사용하고 있으며 사용자가 웹 사이트에서 사용할 문화권을 스스로 설정할 수있게하려고합니다. Global.asax에에서asp.net에서 쿠키를 사용하여 문화권을 설정하고 업데이트하지 않았습니다.
protected void Page_Load(object sender, EventArgs e) {
if (Request.QueryString["setLanguage"] != null)
{
HttpCookie languageCookie = new HttpCookie("language");
languageCookie.Value = Request.QueryString["setLanguage"];
languageCookie.Expires = DateTime.Now.AddDays(10);
Response.SetCookie(languageCookie);
}
}
가이 같은 쿠키를 사용합니다 :
protected void Application_BeginRequest(object sender, EventArgs e) {
HttpCookie languageCookie = System.Web.HttpContext.Current.Request.Cookies["language"];
if (languageCookie.Value != null)
{
System.Threading.Thread.CurrentThread.CurrentCulture = new System.Globalization.CultureInfo(language);
System.Threading.Thread.CurrentThread.CurrentUICulture = new System.Globalization.CultureInfo(language);
}
}
문제는 내가 응답에 쿠키를 설정 한 후이다 MasterPage에서 나는 언어 쿠키를 설정하기 위해 다음과 같은 코드가 있습니다. SetCookie 새 언어를 얻으려면 페이지를 새로 고침해야합니다. 사용자가 새 언어를 설정했을 때 페이지가 새 언어로 직접 다시로드 될 때 코드를 어떻게 만들 수 있습니까?
감사 Asp.Net MVC를 사용하는 경우! Application_BeginRequest로 옮겼습니다. 쉬운 해결책을 생각하지 않았습니다. – Martin