简单的MVC 3.0路由问题

时间:2011-04-07 03:01:57

标签: asp.net-mvc-3 routing

我有一个MVC 3.0路由问题。我在CheckListController类中有以下内容:

public ActionResult Index(int id)
{
  //poop
  return View("ChecklistControl");
}

然后,在容纳该控制器的AreaRegistration.cs中,我有以下内容:

public override void RegisterArea(AreaRegistrationContext context)
{
    context.MapRoute(
    "CommonControls_defaultWithId",
    "CommonControls/{controller}/{action}/{id}",
    new { action = "Index", id = 0 }
    );
    context.MapRoute(
        "CommonControls_default",
        "CommonControls/{controller}/{action}",
        new { action = "Index" }
    );
}

但是,当我尝试通过http://localhost:2064/CommonControls/Checklist/1

浏览时

我收到404错误,即使我已注册该路线。

任何想法?

2 个答案:

答案 0 :(得分:0)

与该路由匹配的网址为http://localhost:2064/CommonControls/Checklist/Index/1

我认为你想要的是

context.MapRoute(
    "CommonControls_defaultWithId",
    "CommonControls/{controller}/{id}",
    new { action = "Index", id = 0 }
    );

答案 1 :(得分:0)

这两条路线似乎是一样的。删除后者,然后重试。