在 ASP.net MVC 应用程序中设置 Culture/UI Culture 的最佳位置是什么
目前我有一个 CultureController 类,它看起来像这样:
public class CultureController : Controller
{
public ActionResult SetSpanishCulture()
{
HttpContext.Session["culture"] = "es-ES";
return RedirectToAction("Index", "Home");
}
public ActionResult SetFrenchCulture()
{
HttpContext.Session["culture"] = "fr-FR";
return RedirectToAction("Index", "Home");
}
}
以及每种语文的超连结,连结如下:
<li><%= Html.ActionLink("French", "SetFrenchCulture", "Culture")%></li>
<li><%= Html.ActionLink("Spanish", "SetSpanishCulture", "Culture")%></li>
这样做很好,但我认为有一个更合适的方式来做到这一点。
我正在使用以下 ActionFilter 读取区域性 Http://www.iansuttle.com/blog/post/aspnet-mvc-action-filter-for-localized-sites.aspx.我是一个有点 MVC 菜鸟,所以没有信心,我设置在正确的地方。我不想在 web.config 级别进行,它必须基于用户的选择。我也不想检查他们的 http 头,从他们的浏览器设置中获得文化。
编辑:
只是想弄清楚-我并不是在试图决定是否使用会话。我很满意。我试图弄清楚的是,是否最好在一个 Culture 控制器中执行此操作,该控制器有一个用于设置每个 Culture 的操作方法,还是在 MVC 管道中有一个更好的位置来执行此操作?