【发布时间】:2012-08-23 15:17:16
【问题描述】:
我正在根据路线数据本地化我的 MVC3 站点。例如,http://domain/fr 应以法语显示站点,http://domain 应默认为英语……以下是我在 Global.ascx 中注册路线的方式。
我的问题是 http://domain/fr/Home/Index 可以工作,但 http://domain/Home/Index 会显示资源未找到错误,并且通过调查它告诉我路由表正在将“主页”映射到 {lang}
我错过了什么?
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.IgnoreRoute("favicon.ico");
routes.MapRoute(
"LogOn", // Route name
"Account/{action}", // URL with parameters
new { controller = "Account", action = "LogOn" } // Parameter defaults
);
routes.MapRoute(
"Localization", // Route name
"{lang}/{controller}/{action}", // URL with parameters
new { UrlParameter.Optional, controller = "Home", action = "Index"} // Parameter defaults
);
routes.MapRoute(
"Default", // Route name
"{controller}/{action}", // URL with parameters
new { controller = "Home", action = "Index"} // Parameter defaults
);
}
【问题讨论】:
标签: asp.net-mvc asp.net-mvc-3 localization internationalization routes