在ASP.Net MVC应用程序中设置文化
在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-header以从他们的浏览器设置中获取文化。
编辑:
只是要明确 - 我不是要决定是否使用会话。我对此感到高兴。我想要解决的是,如果最好在文化控制器中执行此操作,该控制器具有要设置的每个文化的操作方法,或者在MVC管道中是否有更好的位置来执行此操作?