C# 根据用户选择更改asp.net应用程序中的用户语言
我有一个支持全球化的web应用程序。因此,我需要为用户提供一个选择,以选择他/她登录的语言。现在的问题是,我必须在何处进行更改才能设置用户的首选语言。使用ASP.NET配置文件功能将用户的首选语言声明为配置文件属性。看 请注意,这是对@Ikaso答案的重新表述,因此他/她应该回答并获得学分好的,我得到了解决方案: 我在global.asax文件中尝试了以下更改C# 根据用户选择更改asp.net应用程序中的用户语言,c#,C#,我有一个支持全球化的web应用程序。因此,我需要为用户提供一个选择,以选择他/她登录的语言。现在的问题是,我必须在何处进行更改才能设置用户的首选语言。使用ASP.NET配置文件功能将用户的首选语言声明为配置文件属性。看 请注意,这是对@Ikaso答案的重新表述,因此他/她应该回答并获得学分好的,我得到了解决方案: 我在global.asax文件中尝试了以下更改 protected void Application_PreRequestHandlerExecute(Object sender, E
protected void Application_PreRequestHandlerExecute(Object sender, EventArgs e)
{
if (Session["userCultureInfo"] != null)
{
Thread.CurrentThread.CurrentUICulture = new CultureInfo(Session["userCultureInfo"].ToString());
}
}
除了您得到的解决方案之外,您还可以拥有自己的HTTP模块,并通过URL(例如)在其中设置区域性。但在页面生命周期开始之前,您需要在模块中执行此操作。我尝试覆盖InitializeCulture方法,但这仅设置当前页面的设置。另一种可能的方法是根据用户选择的语言覆盖web.config文件设置。但我认为这可能会影响其他用户登录时的设置。我认为此设置应存储在您的用户首选项中,并在用户每次访问您的应用程序时加载。好的,假设我们在会话变量中获得了区域性信息。现在我必须在哪里编写代码来更改语言。