奇怪的路线行为(或这是正常的)?

时间:2012-04-23 13:32:15

标签: asp.net-mvc routing default-value

在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$" }                 
                );

然后我遇到了问题:错误说无法找到此资源。

这是正常的吗?

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

提前致谢

0 个答案:

没有答案