为什么这个MVC路线不起作用?

时间:2013-08-01 21:47:34

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

我在RouteConfig类中定义了以下路由:

       routes.MapRoute(
             name: "DefaultMessage",
             url: "API/{action}",
             defaults: new { action = "MessageGateway" }
         ); 
        routes.MapRoute(
              name: "DefaultNoParms",
              url: "{controller}/{action}",
              defaults: new { controller = "API", action = "Login" }
         );

当我在localhost上使用localhost:65133 /作为地址进行测试时,我将路由到APIController上的Login ActionResult,但是当我尝试localhost:65133 / API时出现以下错误:

  

匹配的路线不包含“控制器”路线值   是必需的

谁能告诉我有什么问题? ActionResult MessageGateway确实存在......

1 个答案:

答案 0 :(得分:11)

似乎错误是不言自明的 - 你需要告诉它要去哪个控制器。

routes.MapRoute(
    name: "DefaultMessage",
    url: "API/{action}",
    defaults: new { controller = "API", action = "MessageGateway" }
);