我正在尝试通过路线实现本地化
我有以下几点:
routes.MapRoute( "DefaultLocalized",
"{lang}/{controller}/{action}/{id}",
new { controller = "Home",
action = "Index",
id = "",
lang = "en" }
);
routes.MapRoute( "Default",
"{controller}/{action}/{id}",
new { controller = "Home",
action = "Index",
id = "" }
);
当我调用页面
domain/en/home/index
时,它可以正常工作,但是当我调用domain/home/index
时,出现错误404:找不到资源。另外,当我进入
domain/en/home/index
并单击安全页面时,我将重定向到domain/Account/login
,如何将我重定向到domain/en/Account/login
?另外,当我收到应用程序错误时,如何重定向到
domain/en/home/error
?真正的问题是如何使用语言作为路由参数来实现本地化?
最佳答案
您还可以引入比Marc Gravell和Freddy Rios更严格的约束。
类似于“en | de | fr | es”。这将意味着对语言进行硬编码,但是通常这些语言很少而且众所周知。
关于c# - asp.net mvc本地化,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/660872/