0

我有经典的默认 ASP.NET MVC 路由:

  System.Web.Routing.RouteTable.Routes.MapRoute(
      "Default",
      "{controller}/{action}/{id}",
      new { controller = "Home", action = "Index", id = UrlParameter.Optional },
  );

因为我想在一个区域内有另一个 HomeController,所以我添加了以下内容:

  System.Web.Routing.RouteTable.Routes.MapRoute(
      "Default",
      "{controller}/{action}/{id}",
      new { controller = "Home", action = "Index", id = UrlParameter.Optional }, 
      typeof(MVCSite.Controllers.HomeController).Assembly
  );

所以这条路线只适用于根主控制器。

但是当我用这个启动网站时,我得到一个 404 错误。

这是为什么?我不能指定这个约束吗?

谢谢你!

4

1 回答 1

0

我能够使用以下方法解决这个问题:

RouteTable.Routes.MapRoute(
  "Default", 
  "{controller}/{action}/{id}", 
  new { controller = "Home", action = "Index", id = UrlParameter.Optional }, 
  new String[] { typeof(HomeController).Namespace 
});

谢谢你,米格尔

于 2013-04-12T22:29:09.687 回答