2

我正在使用没有 WebAPI 的 MVC4,只是在 MVC 上简单。我有一个正确注册的管理区域(像往常一样称为“管理”):

public class AdminAreaRegistration : AreaRegistration
{
    public override string AreaName { get { return "Admin"; } }

    public override void RegisterArea(AreaRegistrationContext context)
    {
        context.MapRoute("EditGroupRoute", "admin/groups/{action}/{id}", new { controller = "EditGroup", action = "Index", id = UrlParameter.Optional });
        //...
        //No default handler at the end, all routes are predetermined
    }

全球.asax:

public class MvcApplication : System.Web.HttpApplication
{
    protected void Application_Start()
    {
        AreaRegistration.RegisterAllAreas();
        //...                            
    }
}

我的常规非区域RouteConfig.RegisterRoutes按应有的方式工作,并且包含正常路线,最后没有默认的全部处理程序。

每当我尝试一些管理区域路由时,我都会收到 404 错误。我正在使用 Haack 的 RouteDebugger,它在 404 错误文本下方显示了一个完全匹配(并且只有一个匹配),以及正确的区域、控制器和操作。

我已经检查了关于 SO 的类似问题,但没有任何乐趣。有什么想法可能是错的吗?

4

1 回答 1

1

区域控制器位于错误的命名空间中。最初,/Controllers当我将它们移动到区域控制器时,它们就在我没有更新命名空间。

于 2013-02-13T09:43:28.993 回答