我正在使用ASP.NET MVC开发内容站点(国际化)。我使用web.config(不是clientbrowser setttings)来提供区域特定的内容。ASP.NET MVC(Content-language http header)
我没有看到ASP.net MVC框架自动追加“内容语言”头,有没有办法做到这一点,如果是比怎么样。如果现在如何能够最有效地定制代码。
问候。
我正在使用ASP.NET MVC开发内容站点(国际化)。我使用web.config(不是clientbrowser setttings)来提供区域特定的内容。ASP.NET MVC(Content-language http header)
我没有看到ASP.net MVC框架自动追加“内容语言”头,有没有办法做到这一点,如果是比怎么样。如果现在如何能够最有效地定制代码。
问候。
在你的控制器中添加:
Response.AddHeader("Content-language",
Thread.CurrentThread.CurrentUICulture.Name);
,你可以将它应用于所有操作通过为所有的控制器创建一个基类,并包括这重写OnActionExecuting。如:
public class MyController : BaseController
{
protected override void OnActionExecuting(ActionExecutingContext filterContext)
{
Response.AddHeader("Content-language",
Thread.CurrentThread.CurrentUICulture.Name);
base.OnActionExecuting(filterContext);
}
}
你的控制器然后应更改为使用的myController的,而不是作为BaseController它们的基类。
,您可以在适用于添加此代码的所有行动的global.asax.cs
protected void Application_BeginRequest(object sender, EventArgs e)
{
Response.AddHeader("Content-language", Thread.CurrentThread.CurrentUICulture.Name);
}
谢谢你的代码+1 –