ASP.NET MVC 2 Области, Странное поведение при маршрутизации - PullRequest
0 голосов
/ 24 апреля 2010

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

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

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

~ / Views / Страницы / List.aspx ~ / Views / Страницы / 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 = "" }
        );
    }
}

1 Ответ

2 голосов
/ 24 апреля 2010

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

Это должно выполняться до того, как ваши routes.MapRoute вызовы

Edit:

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

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