ASP.NET MVC 2 Области, Странное поведение при маршрутизации

Я создал область под названием "Администратор". Я также создал контроллер (Pages) и представление (List) в этих областях.

Когда я запускаю свое приложение и ввожу URL "/Admin/Pages/List", я получаю сообщение об ошибке "Не удается найти ресурс".

Когда я вхожу в / Pages / List, срабатывает метод Action, но представление не найдено, потому что приложение ищет в неправильных каталогах

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

представление находится в / Admin / Pages / List.

Мой conf маршрутизации для области администратора:

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

1 ответ

Решение

Вы добавили AreaRegistration.RegisterAllAreas(); на Global.asax.cs

Это должно работать до того, как вы routes.MapRoute звонки

Редактировать:

Только что посмотрел на мою админку и роутинг выглядит так:

context.MapRoute(
                "Admin_Default",
                "Admin/{controller}/{action}/{id}",
                new { action = "Index", id = UrlParameter.Optional }
            );
Другие вопросы по тегам