我正在使用ASP.NET MVC开发内容网站(国际化)。我使用web.config(而不是clientbrowser setttings)来提供特定于区域的内容。
<globalization culture="fr" uiCulture="fr" enableClientBasedCulture="false" />
我没有看到ASP.net MVC框架正在追加&#34;内容语言&#34;标题自动,有没有办法做到这一点,如果是的话,如何。如果现在,我们如何才能最有效地提供定制代码。
问候。
答案 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);
}