【问题标题】:ASP MVC 2 Change language by urlASP MVC 2 通过 url 更改语言
【发布时间】:2011-07-24 13:18:29
【问题描述】:

我正在尝试为具有 2 种或更多语言的网站创建语言切换。

当我遵循默认路线(控制器/操作)时,Html.ActionLink("NL", ViewContext.RouteData.Values["action"].ToString(), new { language = "nl-NL" }, null) 就可以了。但是当从带有参数的 Action 调用时,它(逻辑上)只创建一个到具有当前 Action 的 Controller 的链接。参数被忽略。

我目前的路线:

routes.MapRoute(
            "ProjectCategory",
            "{language}/Projects/{action}/{slug}",
            new { controller = "Projects", action = "Detail", slug = string.Empty, language = "en-US" }
        );

使用Html.ActionLink创建的链接:

http://localhost/mysite/nl-NL/Projects/Detail/

如何解决这个问题?

【问题讨论】:

    标签: c# asp.net-mvc-2 localization routing


    【解决方案1】:
     HttpContext.Current.Request.Path.Replace("/en-US/", "/nl-NL/")
    

    这不是最优雅的方式,但对我有用。 (当然你应该把en-US换成当前的lang)

    【讨论】:

      猜你喜欢
      • 2020-04-26
      • 1970-01-01
      • 2011-07-13
      • 1970-01-01
      • 1970-01-01
      • 2016-12-30
      • 2017-05-23
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多