MVC - 本地化的网址/路由

时间:2016-09-12 08:21:28

标签: asp.net-mvc routing

方案
DNS名称是本地化的。 所有这些条目都指向同一个网站:

  • www.mavoiture.com(fr)
  • www.mycar.com(en)
  • www.meinauto.com(de)

我不想在网址中使用语言代码!

  - www.mavoiture.com/maison/enregistrer(fr)
  - www.mycar.com/house/register(en)
  - www.meinauto.com/Haus/registrieren(de)

我可以为每种语言注册动作方法的路线属性。

首先看一下。 但是这在使用

时不起作用
@Html.ActionLink(...)

@Html.RenderAction

{{1}}

如何自定义路由以使用当前语言翻译本地化的URL(也是超链接)?语言由dns名称决定。

1 个答案:

答案 0 :(得分:0)

您想使用@Html.RouteLink(...)。这将允许您在生成链接时指定路径。

然后注册所有路线:

@Html.RouteLink("Link to Register", "FR-Route", 
                new { controller = "House", action = "Register" })

然后链接将转换为“FR-Route”模板,该模板可能是“maison / enregistrer”。

Url.Action - 您可以使用RouteUrl(...)

RenderAction - 并不重要,因为最终用户永远不会看到RenderAction的网址。