自定义路由在ASP.net MVC 3中不起作用

时间:2012-06-01 04:21:54

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

我正在尝试在ASP.net MVC 3中实现我的自定义路由,但是我收到了这个错误:

The resource cannot be found. 

的global.asax

public static void RegisterRoutes(RouteCollection routes)
{
    routes.IgnoreRoute("{resource}.axd/{*pathInfo}");

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

}

MyController.cs

public class MyController : Controller
{
    public ActionResult Search(string name)
    {
        return Content(name);
    }
}

2 个答案:

答案 0 :(得分:1)

请改为尝试:

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

找不到MyController,因为您没有名为MyControllerController的控制器。由于继承自Controller,约定将寻找URL令牌+“控制器”。

干杯。

答案 1 :(得分:0)

尝试将其更改为

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

请在Global.asax文件中注册