0

在 ASP.NET MVC 应用程序中(在其他路由中)有以下一个(在 registerRoutes 中):

routes.MapRoute(
                "DealRouteForCategory", // Route name
                "{city}/{category}", // URL with parameters                    
                new {city="", category = "someCategory", controller = "Deal", action = "Details" }, // Parameter defaults   
                new { controller = "^Deal$" }                 
            );

如果城市默认值被省略(注意下面的代码片段中的城市不包含在默认值部分)

   routes.MapRoute(
                    "DealRouteForCategory", // Route name
                    "{city}/{category}", // URL with parameters                    
                    new {category = "someCategory", controller = "Deal", action = "Details" }, // Parameter defaults   
                    new { controller = "^Deal$" }                 
                );

然后我有问题:错误说找不到这个资源。

这是正常的吗?

我可以接受这样一个事实,即我可以使用第一个版本在运行时提供一个值,但我想知道为什么第二个版本失败了!

提前致谢

4

0 回答 0