特定のルールに従って現在の言語を設定する必要があります。意思決定を行うには、現在のページと現在のユーザーにアクセスする必要があります。ドキュメントに目を通したところ、PageBase で InitializeCulture メソッドを使用するように言われました。私のプロジェクトは WebForms ではなく MVC を使用しています。MVC の InitializeCulture に相当するものは何ですか?
1425 次
1 に答える
4
IAuthorizationFilter を実装し、OnAuthorization でチェックを行うことができます。IActionFilter でも可能ですが、OnAuthorization が先に呼び出されます。現在の HttpContext にアクセスでき、そこから現在のページ データを取得できます。
public class LanguageSelectionFilter : IAuthorizationFilter
{
public void OnAuthorization(AuthorizationContext filterContext)
{
// access to HttpContext
var httpContext = filterContext.HttpContext;
// the request's current page
var currentPage = filterContext.RequestContext.GetRoutedData<PageData>();
// TODO: decide which language to use and set them like below
ContentLanguage.Instance.SetCulture("en");
UserInterfaceLanguage.Instance.SetCulture("en");
}
}
public class FilterConfig
{
public static void RegisterGlobalFilters(GlobalFilterCollection filters)
{
// register the filter in your FilterConfig file.
filters.Add(new LanguageSelectionFilter());
}
}
于 2014-01-21T14:53:38.467 に答える