gpt4 book ai didi

c# - 我应该在哪里设置语言(CurrentThread.CurrentCulture)?

转载 作者:太空狗 更新时间:2023-10-29 23:18:30 24 4
gpt4 key购买 nike

在较旧的 asp.net 项目中,我们通常在 Application_BeginRequest - 处理程序 (Global.asax) 中设置语言,如下所示:

System.Threading.Thread.CurrentThread.CurrentCulture = CultureInfo.CreateSpecificCulture(cookie.Lang)

现在我正在切换到 MVC 2 并决定将该语言保留为 URL 中的固定路由。 URL 如下所示:{lang}/{controller}/{action}

我应该如何以及在何处从 URL 中读取语言并设置 CurrentCulture?如何最好地完成 MVC - 方式?

感谢任何小费!

最佳答案

global.asax 中类似这样的东西应该可以工作

protected void Application_AcquireRequestState(object sender, EventArgs e)
{
MvcHandler handler = Context.Handler as MvcHandler;
if (handler == null)
return;

string lang = handler.RequestContext.RouteData.Values["lang"] as string;

CultureInfo culture = CultureInfo.GetCultureInfo(lang);

Thread.CurrentThread.CurrentUICulture = culture;
Thread.CurrentThread.CurrentCulture = culture;
}

关于c# - 我应该在哪里设置语言(CurrentThread.CurrentCulture)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4936054/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com