Навигация по сайту для приложения «Администратор» в ASP.NET MVC - PullRequest
0 голосов
/ 25 августа 2009

Я создал проект Area для моего приложения ASP.NET MVC под названием «Admin».

Это будет содержать всю логику для раздела Администрирование сайта, где пользователи могут добавлять / удалять страницы и т. Д.

Вверху есть меню, из которого пользователь может управлять. (Например, «Контент», «Пользователи» и т. Д.)

Для каждого из них я делаю контроллер ('ContentController', 'UsersController' и т. Д.)

Мне интересно, как настроить навигацию, так как, похоже, существуют разные подходы.

Один из подходов заключается в использовании MvcSiteMap, который включает создание файла '.sitemap' и оформление действий на моих контроллерах с помощью атрибута 'MvcSiteMapNode'.

Проблема с вышесказанным заключается в том, что его сложно реализовать (особенно в проекте Area из-за того, как области работают в ASP.NET MVC). Это также кажется излишним.

Я придумал другой способ - украсить каждый контроллер своим собственным атрибутом. Затем у меня есть вспомогательный метод, который отображает мою навигацию, используя отражение, чтобы перебрать все контроллеры, выбрать те, которые имеют этот атрибут, а затем добавить их в меню навигации.

Что вы думаете о вышеуказанном методе? Можете ли вы придумать еще более простой способ сделать это?

1 Ответ

1 голос
/ 08 сентября 2009

Итак, я сделал это по-своему - атрибут на каждом контроллере, затем статический метод, который считывает все атрибуты при запуске приложения (используя отражение) и сохраняет их в памяти.

Пока это работает отлично, и мне не нужны были какие-либо дополнительные функции MvcSiteMap.

...