如何在ASP.NET MVC应用程序中本地化Controller名称和操作?

时间:2010-11-24 21:37:57

标签: .net asp.net asp.net-mvc localization controller

我想完全本地化我的ASP.NET MVC应用程序,虽然有很多文章处理ASP.NET MVC本地化的各种缺陷,但它们都没有处理我想要处理的方面,这就是URL的本地化,包括控制器名称和操作。

我想要一种方法来指定应该出现的字符串,而不是URL中的控制器名称和操作名称,例如在资源文件中。

这怎样才能以理智的方式行事?在此先感谢您的帮助!

修改
我还在寻找一种方法来做到这一点。欢迎任何帮助。
是否有任何框架或库实现这一点?

4 个答案:

答案 0 :(得分:7)

我以前从未这样做过,但是你不能为你想要支持的每种语言在路由表中添加一个条目吗?所有本地化路线都可以使用您选择的语言重定向到路线。看看这些相关问题:

Multi-lingual websites with ASP.NET MVC

How should I implement localization with ASP.NET MVC routes?

答案 1 :(得分:4)

简答:不要。

URL应该是通用的,因此是区域不变的。这就是我们在模型绑定期间不支持本地化控制器,操作或查询字符串值的原因。

答案 2 :(得分:3)

看看这个简单的解决方案:

Translating routes (ASP.NET MVC and Webforms)

您还可以尝试我刚刚找到的真棒AttributeRouting项目!你可以通过NuGet获得它。

答案 3 :(得分:0)

考虑到在本地化操作和控制器名称时未完成。 您仍然需要本地化任何路由参数。这对于枚举来说尤其痛苦。

即www.seller.com/catalogue/list/winterclothing www.seller.com/catalogue/list/summerclothing其中winterclothingsummerclothing将是枚举。

我会说:这可能但不可行。