在ASP.Net MVC应用程序中设置文化

在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管道中是否有更好的位置来执行此操作?


收到一只叮咚
浏览 420回答 3
3回答
打开App,查看更多内容
随时随地看视频慕课网APP