【问题标题】:Route not working - ASP.NET MVC 3 Localization locale in URL路由不起作用 - URL 中的 ASP.NET MVC 3 本地化语言环境
【发布时间】: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


    【解决方案1】:
    routes.MapRoute(
                "Default", // Route name
                "{controller}/{action}", // URL with parameters
                new { controller = "Home", action = "Index"}, // Parameter defaults
                new { controller = "[a-zA-Z]{3,}" } //regexp constraint on controller name
            );
    
    routes.MapRoute(
                "Localization", // Route name
                "{lang}/{controller}/{action}", // URL with parameters
                new { UrlParameter.Optional, controller = "Home", action = "Index"} // Parameter defaults
            );
    

    应该做的伎俩,只要你所有的控制器名称都超过 2 个字符:)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-04-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-04-18
      • 1970-01-01
      • 2020-02-23
      相关资源
      最近更新 更多