【发布时间】:2010-02-08 14:06:10
【问题描述】:
我尝试使用http://weblogs.asp.net/paulomorgado/archive/2010/01/31/web-site-globalization-with-asp-net-routing.aspx 中解释的解决方案,使用路由中的语言参数本地化我的应用程序。
这是我在 Global.asax 中的代码:
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.Add("en", new Route("en/{*path}", new GlobalizationRouteHandler(CultureInfo.GetCultureInfo("en-US"))));
routes.Add("fa", new Route("fa/{*path}", new GlobalizationRouteHandler(CultureInfo.GetCultureInfo("fa-IR"))));
routes.MapRoute(
"AdminHome",
"{language}/admin",
new { controller = "Admin", action = "Index" }
);
}
但是当我将浏览器指向 /en/admin 或 /fa/admin 时,我会收到 404 错误消息。
我也试过这个:
routes.MapRoute(
"AdminHome",
"admin",
new { controller = "Admin", action = "Index" }
);
但 /en/admin 仍然出现 404 错误 - (在这种情况下“/admin”有效。)
有什么想法吗?
【问题讨论】:
-
我从编写原始代码的人那里得到了一些指导,他建议我在 GlobalizationRouteHandler 之前编写我的路由规则。我没有尝试,因为我使用了另一种方法。你可以测试它并告诉我们结果;)
标签: asp.net asp.net-mvc localization globalization