Asp.net mvc 2 ASP.NET MVC 2区域,奇怪的路由行为

Asp.net mvc 2 ASP.NET MVC 2区域,奇怪的路由行为,asp.net-mvc-2,routing,areas,Asp.net Mvc 2,Routing,Areas,我已经创建了一个名为“Admin”的区域。我还在这个区域创建了一个控制器(页面)和一个视图(列表) 当我运行我的应用程序并输入url“/Admin/Pages/List”时,我收到一个资源找不到错误消息 当我输入/Pages/List时,会点击操作方法,但找不到视图,因为应用程序正在错误的目录中搜索 ~/Views/Pages/List.aspx ~/Views/Pages/List.ascx ~/Views/Shared/List.aspx ~/Views/Shared/List.ascx 该

我已经创建了一个名为“Admin”的区域。我还在这个区域创建了一个控制器(页面)和一个视图(列表)

当我运行我的应用程序并输入url“/Admin/Pages/List”时,我收到一个资源找不到错误消息

当我输入/Pages/List时,会点击操作方法,但找不到视图,因为应用程序正在错误的目录中搜索

~/Views/Pages/List.aspx ~/Views/Pages/List.ascx ~/Views/Shared/List.aspx ~/Views/Shared/List.ascx

该视图位于/Admin/Pages/List中

管理区域的我的路由配置:

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

    public override void RegisterArea(AreaRegistrationContext context)
    {
        context.MapRoute(
            "Admin_default",
            "Admin/{controller}/{action}/{id}",
            new { controller= "Pages",action = "Index", id = "" }
        );
    }
}

您是否添加了
AreaRegistration.RegisteralAreas()到Global.asax.cs

这应该在现有的
routes.MapRoute
调用之前运行

编辑:

只需查看我的管理区域,路由如下所示:

context.MapRoute(
                "Admin_Default",
                "Admin/{controller}/{action}/{id}",
                new { action = "Index", id = UrlParameter.Optional }
            );

是的,它在那里。但它无论如何都不起作用。我是否正确理解路线?区域的url应该类似于www.domain.com/Area/Controller/Action/Parameter?没关系。我找到了导致这种奇怪行为的原因。之前,我只是使用拖放将控制器从根复制到该区域。未更改的命名空间会导致问题。我的错。无论如何,谢谢你抽出时间。。