這是我在過去所做的那樣:
在你web.config
文件,添加以下設置:
<system.web>
<globalization enableClientBasedCulture="true" />
</system.web>
這將處理您的後備例如,在沒有語言集在查詢字符串中。
我們的控制器利用查詢字符串「郎」參數:(我通常會有下面的代碼在「BaseController」,並有我的控制器從這個繼承)
以下重寫方法添加到您的控制器:
protected override IAsyncResult BeginExecute(RequestContext requestContext, AsyncCallback callback, object state)
{
var culture = requestContext.HttpContext.Request.QueryString["lang"];
//!!Check to see if culture exists and is valid before setting the thread culture
var cultureInfo = new CultureInfo(culture);
Thread.CurrentThread.CurrentCulture = cultureInfo;
Thread.CurrentThread.CurrentUICulture = cultureInfo;
return base.BeginExecute(requestContext, callback, state);
}
這使您可以在查詢字符串閱讀「郎」的值,然後用它來設置文化Ø f線程。這應該覆蓋由enableClientBasedCulture
設置設置的任何文化。