无法在MVC3中的url中设置可选语言

时间:2012-07-20 10:49:10

标签: asp.net-mvc asp.net-mvc-3 asp.net-mvc-routing

我在MVC3中路由网址时面临问题。我重写函数

 public static void RegisterRoutes(RouteCollection routes)
    {
        routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
        routes.MapPageRoute("GrpViewRoute", "Report/{ReportName}", "~/Views/Offer/{ReportName}.aspx");
        routes.MapRoute(
            "Default", // Route name
            "{language}/{controller}/{action}/{id}", // URL with parameters

            new { language = "en",  controller = "Home", action = "Index", id = UrlParameter.Optional }
        );
        //routes.IgnoreRoute("{resource}.aspx/{*pathInfo}");
    }

如果我请求“语言/家庭/索引”,这个工作正常我需要每次都提供语言。是否有任何解决方案,我可以访问网站作为“家/索引”。如果我默认不提供语言,那么en。

1 个答案:

答案 0 :(得分:0)

是的,有可能:

routes.MapRoute(
            "Default", // Route name
            "{controller}/{action}/{id}", // URL with parameters

            new { language = "en",  controller = "Home", action = "Index", id = UrlParameter.Optional }
        );

将此信息放在当前的地图路线之后。