在 ASP.net MVC 应用程序中设置文化/UI 文化的最佳位置是什么
目前我有一个 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-headers 以从他们的浏览器设置中获取文化。
编辑:
只是要明确一点-我并不是要决定是否使用会话。我对那一点很满意。我要解决的是最好在具有要设置每个文化的操作方法的文化控制器中执行此操作,还是在 MVC 管道中有更好的位置来执行此操作?