我正在使用MVC3,并且有一些改变文化的逻辑,一切正常。我的问题是,似乎有一些地方应该做出这种改变,我不确定哪里是最好的地方。
一些示例显示了对每个操作的覆盖,在这样的控制器中:
protected override void OnActionExecuted(ActionExecutedContext filterContext)
{
// code to change culture
}
而我以前看到的更传统的方式是在Global.asax文件中进行,如下所示:
protected void Application_BeginRequest(object sender, EventArgs e)
{
// code to change culture
}
建议这样做的地方是什么?
答案 0 :(得分:6)
global.asax是ASP.NET正确的做法。它适用于框架(webforms,动态数据,mvc)。
答案 1 :(得分:4)
Application_BeginRequest
没问题。如果在那里的线程上设置文化,整个HTTP请求将在该文化中执行。
Thread.CurrentThread.CurrentCulture = new CultureInfo(myCulture);