为什么这条路线无法解决?

时间:2012-03-15 16:39:17

标签: asp.net-mvc-3 razor

routes.MapRoute(
                "top", // Route name
                "{controller}/Casestudy/{action}"
            );

任何人都知道为什么此路由无法解析;

  

/拍卖/案例研究/ ABC /

控制器拍卖在那里,行动ABC在那里,视图在那里?

1 个答案:

答案 0 :(得分:1)

我的猜测是,您将"top"路径放在 "Default"路线之后(前提是您未将该呼叫更改为MapRoute())。

您需要确保在默认路由之前显示"top"路由,否则您的"Default"路由肯定会与您测试的网址匹配并提供404。

routes.MapRoute(
                "top", // Route name
                "{controller}/Casestudy/{action}"
            );

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

如果这些内容已经开启并且您的"Default"路线排在第一位,那么您的路线将与"Default"路线匹配controller = "Auction", action = "Casestudy", id = "ABC"。这显然不是意图。