是否可以创建仅包含操作名称的新路由?

时间:2012-03-02 13:24:52

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

我想创建一个只有动作名称的路线,看:

routes.MapRoute(
    "UnderConstruction", // Route name
    "UnderConstruction", // URL with parameters
    new { controller = "Alert", action = "UnderConstruction"} // Parameter defaults
);

有了这个我想要访问这样的网址:http://localhost/UnderConstruction

但是当我调用此url时,我收到错误“无法找到资源。”。我错过了什么或做错了什么?

1 个答案:

答案 0 :(得分:4)

您必须将此路由放在默认路由之前,否则它将首先与默认路由匹配,它将尝试查找名为UnderConstruction的控制器。

routes.MapRoute(
    "UnderConstruction", // Route name
    "UnderConstruction", // URL with parameters
    new { controller = "Alert", action = "UnderConstruction"} // Parameter defaults
);

//default route