Я создал проект Area для моего приложения ASP.NET MVC под названием «Admin».
Это будет содержать всю логику для раздела Администрирование сайта, где пользователи могут добавлять / удалять страницы и т. Д.
Вверху есть меню, из которого пользователь может управлять. (Например, «Контент», «Пользователи» и т. Д.)
Для каждого из них я делаю контроллер ('ContentController', 'UsersController' и т. Д.)
Мне интересно, как настроить навигацию, так как, похоже, существуют разные подходы.
Один из подходов заключается в использовании MvcSiteMap, который включает создание файла '.sitemap' и оформление действий на моих контроллерах с помощью атрибута 'MvcSiteMapNode'.
Проблема с вышесказанным заключается в том, что его сложно реализовать (особенно в проекте Area из-за того, как области работают в ASP.NET MVC). Это также кажется излишним.
Я придумал другой способ - украсить каждый контроллер своим собственным атрибутом. Затем у меня есть вспомогательный метод, который отображает мою навигацию, используя отражение, чтобы перебрать все контроллеры, выбрать те, которые имеют этот атрибут, а затем добавить их в меню навигации.
Что вы думаете о вышеуказанном методе? Можете ли вы придумать еще более простой способ сделать это?