Маршрутизация с областями и именем контроллера (ядро asp.net)C#

Место общения программистов C#
Ответить
Anonymous
 Маршрутизация с областями и именем контроллера (ядро asp.net)

Сообщение Anonymous »

Чтобы не загромождать мое приложение, я начал работать с областями. Но теперь мне всегда приходится вызывать:

http://localhost:49358/Document/Document/

вместо:

http:/ /localhost:49358/Document/

Как изменить маршрут для доступа к контроллерам по имени области?
(без HomeController)

Внутри моего проекта у меня следующая структура папок:

[img]https://i.sstatic .net/6toxn.png[/img]

Код моего маршрута в Области выглядит следующим образом:

Код: Выделить всё

routes.MapRoute(name: "areaRoute",template: "{area:exists}/{controller=Home}/{action=Index}");
И я поместил тег [Area("Document")] в свой DocumentController.

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

Как предложили Шиджу и Джейми Тейлор, я выбрал HomeControllers. (Спасибо вам обоим за быстрые ответы и объяснения)

Моя структура теперь выглядит так, и маршрутизация работает так, как ожидалось:

Изображение


Меня все еще немного разочаровывает у меня так много HomeControllers и индексных файлов. Навигация по коду уже не так проста:

Изображение


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

После того, как меня слишком разозлили все эти контроллеры Home, я воспользовался решением, предложенным Джейми Тейлором, и переставил все в папка Функции. Требуется немного больше настроек, но, на мой взгляд, он намного чище.

Это также подробно объясняется в этой статье Microsoft (просто пропустите информацию об области):

https:/ /msdn.microsoft.com/en-us/magazine/mt763233.aspx

Моя структура теперь выглядит так, маршрутизация работает как шарм, а имена контроллеров по-прежнему имеют смысл :

Изображение


Подробнее здесь: https://stackoverflow.com/questions/467 ... p-net-core
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»