ASP.NET MVC(内容语言http标头)

时间:2015-04-15 14:23:58

标签: asp.net-mvc-5 http-headers globalization

我正在使用ASP.NET MVC开发内容网站(国际化)。我使用web.config(而不是clientbrowser setttings)来提供特定于区域的内容。

<globalization culture="fr" uiCulture="fr" enableClientBasedCulture="false" />

我没有看到ASP.net MVC框架正在追加&#34;内容语言&#34;标题自动,有没有办法做到这一点,如果是的话,如何。如果现在,我们如何才能最有效地提供定制代码。

问候。

2 个答案:

答案 0 :(得分:3)

在您的控制器中,添加:

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作为其基类。

答案 1 :(得分:1)

您可以将此代码添加到global.asax.cs

,将其应用于所有操作
protected void Application_BeginRequest(object sender, EventArgs e)        
{
   Response.AddHeader("Content-language", Thread.CurrentThread.CurrentUICulture.Name);
}
相关问题