私のアプリケーションの各ユーザーは自分の国を選択します。その後、国は Cookie に保存され、後のリクエストのために保存されます。すべて問題なく動作していますが、セッションの開始時にカルチャを設定する必要があります。私は現在、web.config のカルチャを en-GB に設定し、Global.asax を使用してセッションのカルチャを en-US にオーバーライドすることで実験しています。以下のコード
protected void Session_Start(object sender, EventArgs e)
{
if (Globals.CountryID == 8)
{
Thread.CurrentThread.CurrentCulture = CultureInfo.GetCultureInfo("en-US");
Thread.CurrentThread.CurrentUICulture = CultureInfo.GetCultureInfo("en-US");
}
}
次のコードでは、countryID は 8 で、カルチャは en-US に設定されています。ただし、ToString("C") が設定されているページに移動すると、GBP で表示され、カルチャは en-GB のままです。
助言がありますか?