Контроллер области ASP.NET MVC3, доступный из глобальных маршрутов?

Возможно, я не совсем понимаю, как работают области MVC, но у этого есть меня немного смутило.

  1. Добавьте область под названием «MyArea», щелкнув правой кнопкой мыши «Добавить область» в Visual Studio в проекте MVC3.
  2. Создайте контроллер для MyArea: «AnArea» с соответствующим представлением в области MyArea.
  3. Добавьте "controller =" AnArea "в параметр context.MapRoute по умолчанию в методе MyAreaAreaRegistration.RegisterArea.

Итак, если вы запустите приложение и перейдете в / MyArea /, он должен загрузить контроллер AnArea с соответствующим представлением . Если вы перейдете в / MyArea / AnArea, он покажет тот же результат.

Но, если вы перейдете в / AnArea /, контроллер все равно будет найден, и появится следующее сообщение об ошибке:

The view 'Index' or its master was not found or no view engine supports the searched locations. The following locations were searched:
~/Views/anarea/Index.aspx
~/Views/anarea/Index.ascx
~/Views/Shared/Index.aspx
~/Views/Shared/Index.ascx
~/Views/anarea/Index.cshtml
~/Views/anarea/Index.vbhtml
~/Views/Shared/Index.cshtml
~/Views/Shared/Index.vbhtml

Это правильный Я бы подумал, что к контроллеру области можно получить доступ только через ее собственную область, а не глобально.

5
задан Yannick Blondeau 25 July 2012 в 09:04
поделиться