ASP.NET MVC (Content-language http header)
ASP.NET MVC (Content-language http header)
我正在使用 ASP.NET MVC 开发内容网站(国际化)。我使用 web.config(不是客户端浏览器设置)来传送特定区域的内容。
<globalization culture="fr" uiCulture="fr" enableClientBasedCulture="false" />
我没有看到 ASP.net MVC 框架正在自动附加 "Content-language" header,有没有办法做到这一点,如果有,那么怎么做。如果现在我们如何才能最有效地放置自定义代码。
此致。
在您的控制器中,添加:
Response.AddHeader("Content-language",
Thread.CurrentThread.CurrentUICulture.Name);
您可以通过为所有控制器创建基础 class 并将其包含在覆盖的 OnActionExecuting 中来将其应用于所有操作。如:
public class MyController : BaseController
{
protected override void OnActionExecuting(ActionExecutingContext filterContext)
{
Response.AddHeader("Content-language",
Thread.CurrentThread.CurrentUICulture.Name);
base.OnActionExecuting(filterContext);
}
}
然后应将您的控制器更改为使用 MyController 而不是 BaseController 作为它们的基础 class。
您可以将此代码添加到 global.asax.cs
以将其应用于所有操作
protected void Application_BeginRequest(object sender, EventArgs e)
{
Response.AddHeader("Content-language", Thread.CurrentThread.CurrentUICulture.Name);
}
我正在使用 ASP.NET MVC 开发内容网站(国际化)。我使用 web.config(不是客户端浏览器设置)来传送特定区域的内容。
<globalization culture="fr" uiCulture="fr" enableClientBasedCulture="false" />
我没有看到 ASP.net MVC 框架正在自动附加 "Content-language" header,有没有办法做到这一点,如果有,那么怎么做。如果现在我们如何才能最有效地放置自定义代码。
此致。
在您的控制器中,添加:
Response.AddHeader("Content-language",
Thread.CurrentThread.CurrentUICulture.Name);
您可以通过为所有控制器创建基础 class 并将其包含在覆盖的 OnActionExecuting 中来将其应用于所有操作。如:
public class MyController : BaseController
{
protected override void OnActionExecuting(ActionExecutingContext filterContext)
{
Response.AddHeader("Content-language",
Thread.CurrentThread.CurrentUICulture.Name);
base.OnActionExecuting(filterContext);
}
}
然后应将您的控制器更改为使用 MyController 而不是 BaseController 作为它们的基础 class。
您可以将此代码添加到 global.asax.cs
以将其应用于所有操作protected void Application_BeginRequest(object sender, EventArgs e)
{
Response.AddHeader("Content-language", Thread.CurrentThread.CurrentUICulture.Name);
}