【问题标题】:Mvc route is not taking default valuesMvc 路由未采用默认值
【发布时间】:2013-04-09 18:08:08
【问题描述】:

我有两条路线

 routes.MapRoute(
          name: "Default",
          url: "{controller}/{action}/{id}",
          defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
        );

routes.MapRoute(
            name: "CustomRoute",
            url: "{country}/{lang}/{controller}/{action}",
            defaults: new { controller = "Test", action = "Index" }
        );

但是如果我尝试使用 /ES/es/ 之类的东西,我只能使用 /ES/es/Test/Action 之类的东西访问我的 CustomRoute 我有 404 错误,它找不到页面,我真的需要/ES/es/ 方式。一些想法为什么不在 CustomRoute 中采用默认值? ...提前致谢。

【问题讨论】:

  • 你为什么要创建另一个问题?
  • @vonv。我以为我对你有压力,我有点害羞
  • 没有必要感到羞耻,人们在这里互相帮助并建立一个内容丰富的伟大维基站点。那么你的问题解决了吗?有吗?如果是,那么如果它没有任何用途并且“它确实是重复的”,您可以删除它。
  • @vonv。在你的帮助下,我解决了我的部分问题,但现在我有这个新问题,它根本没有解决,我认为它可以为彼此服务。谢谢:)

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


【解决方案1】:

您可以查看示例代码:

 //routes.MapRoute(
 //    "Default", // Route name
 //    "{controller}/{action}/{id}", // URL with parameters
 //    new { controller = "Home", action = "Index", id = UrlParameter.Optional } // Parameter defaults
 //);

   routes.MapRoute(
        "CustomRoute", // Route name
        "{country}/{lang}/{controller}/{action}", // URL with parameters
        new { country = "MyContry", lang = "Mylanguage", controller = "Home", action = "Index", id = UrlParameter.Optional } // Parameter defaults
   );

【讨论】:

    【解决方案2】:

    【讨论】:

    • 非常感谢,这里有非常有趣的链接,我现在可以帮上大忙了,但我还是遇到了我的问题。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2010-11-01
    • 1970-01-01
    • 1970-01-01
    • 2017-07-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多