0

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

当我运行我的应用程序并输入 url “/Admin/Pages/List”时,我收到了 The resource cannot be found 错误。

当我输入 /Pages/List 时,Action 方法被命中但没有找到视图,因为应用程序在错误的目录中搜索

~/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 = "" }
        );
    }
}
4

1 回答 1

2

您是否已添加AreaRegistration.RegisterAllAreas();到 Global.asax.cs

这应该在您现有的routes.MapRoute电话之前运行

编辑:

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

context.MapRoute(
                "Admin_Default",
                "Admin/{controller}/{action}/{id}",
                new { action = "Index", id = UrlParameter.Optional }
            );
于 2010-04-24T13:39:49.163 回答