2015-04-15 57 views
1

我正在使用ASP.NET MVC開發內容站點(國際化)。我使用web.config(不是clientbrowser setttings)來提供區域特定的內容。ASP.NET MVC(Content-language http header)

​​

我沒有看到ASP.net MVC框架自動追加「內容語言」頭,有沒有辦法做到這一點,如果是比怎麼樣。如果現在如何能夠最有效地定製代碼。

問候。

回答

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它們的基類。

+0

謝謝你的代碼+1 –

1

,您可以在適用於添加此代碼的所有行動的global.asax.cs

protected void Application_BeginRequest(object sender, EventArgs e)   
{ 
    Response.AddHeader("Content-language", Thread.CurrentThread.CurrentUICulture.Name); 
}