在ASP.NET MVC中本地化/转换路由

dav*_*ser 17 localization internationalization asp.net-mvc-routing asp.net-mvc-3

任何人都知道一个很好的解决方案来本地化ASP.NET MVC中的路由?我想要实现的是这两个网址指向相同的动作/资源:

此外,应该有可能根据当前文化生成路线(或默认情况下,如果没有可用的翻译).或者,如果我能够只指定一种文化,以便上面两个链接中只有一个可以工作,那也是可行的.

我尝试了Maarten Balliauw的一个非常好的方法,但不幸的是他的解决方案无效Html.RenderAction(...).

当然,我可以添加所有翻译的路线,如

routes.MapRoute(
    "Products_Categories",
    "Produkte/Kategorien",
    new { controller = "Products", action = "Categories" }
);
Run Code Online (Sandbox Code Playgroud)

但这将最终导致大量的路线,而且非常不灵活.任何更好的解决方案将不胜感激:-)越灵活越好.

Ben*_*eno 2

这可能是管理所有路由的可行方法 - 或者它的一些变体,例如在 XML 文件中定义路由

http://www.iansuttle.com/blog/post/ASPNET-MVC-Store-Routes-in-the-Database.aspx

你仍然会得到大量的路线,但管理它们会容易得多