Структура маршрутизации / папки ASP.NET MVC2 - PullRequest
0 голосов
/ 26 августа 2010

В ASP.NET MVC2,

Как изменить структуру маршрутизации / папки, чтобы я мог иметь

  • Views \ FOLDER \ Account \ ChangePass.aspx

Вместо:

  • Представления \ Account \ ChangePass.aspx

На самом деле я не хочу делать это для учетной записи, но я бы хотелдля структурирования таких вещей, как, например,

ТАК Я могу иметь два разных представления, например:

  • Представления \ Категории \

  • Представления \ Администратор \ Категории \

Они будут отображаться совершенно по-другому.

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

Ответы [ 2 ]

3 голосов
/ 26 августа 2010

Звучит так, будто вам нужно изучить области ... Посмотрите эту статью для получения дополнительной информации:

Пошаговое руководство. Организация приложения ASP.NET MVC с использованием областей

Выдержка:

Однако некоторые приложения могут иметь большое количество контроллеров, и каждый контроллер может быть связан с несколькими представлениями. Для приложений такого типа структура проекта ASP.NET MVC по умолчанию может стать громоздкой.

Для размещения больших проектов ASP.NET MVC позволяет разбивать веб-приложения на более мелкие блоки, которые называются областями. Области предоставляют способ разделить большое веб-приложение MVC на более мелкие функциональные группы. Область - это фактически структура MVC внутри приложения. Приложение может содержать несколько структур MVC (областей).

HTHS
Charles

2 голосов
/ 26 августа 2010

Перейти с соглашением asp.net MVC для просмотра местоположения;Если вы хотите иметь разные пути URL, вам нужно взглянуть на создание собственных маршрутов, отличных от заданного вам единственного маршрута по умолчанию.(См. этот учебник .)

Вот пример маршрута, который вы можете добавить в свой Global.asax, чтобы получить желаемый результат, но вам придется сопоставить этот маршрут с контроллером.действовать соответственно.Действительно, вам нужно определиться с шаблоном, чтобы удовлетворить потребности вашего приложения ...

        routes.MapRoute(
            "FolderRoute",                                             
            "{controller}/{folder}/{action}/{id}",                     
            new { controller = "Home", folder = "yourFolderDefault", action = "Index", id = "" }
        );
...