私は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);
}
}
問題は後に、私は応答でクッキーを設定することです。 SetCookie新しい言語を取得するには、ページをリロードする必要があります。ユーザーが新しい言語を設定したときに、新しい言語でページが直接読み込まれるようにするにはどうすればよいですか?
感謝をAsp.Net MVCを使用している場合は!私はApplication_BeginRequestに移動しましたが、簡単な解決策は考えていませんでした。 – Martin