2009-02-24 2 views
0

Я хотел бы создать подпапку в папке контроллеров приложения Asp.Net MVC. Но когда я это делаю и пытаюсь перейти на страницу, контроллер не может быть найден.Группировка контроллеров в Asp.NET MVC?

Вот конкретный пример. В настоящее время у меня есть:

Controlers/UserAdminControler.cs 
Controlers/PageAdminControler.cs 
Controlers/MenuAdminControler.cs 
Controlers/SomeOtherControler.cs 
... 

Я хочу организовать это так:

Controlers/Admin/UserAdminControler.cs 
Controlers/Admin/PageAdminControler.cs 
Controlers/Admin/MenuAdminControler.cs 
Controlers/SomeOtherControler.cs 
... 

Я нашел способ создания "Зоны". Это действительно хорошая идея и статья, но это не совсем то, что я ищу на моем сайте: http://haacked.com/archive/2008/11/04/areas-in-aspnetmvc.aspx

Также я обнаружил, что вы можете создавать вспомогательные папки в каталоге представлений (при возврате View() вы просто поставьте путь в качестве параметра). Теперь мне нужно выяснить, как добавить подпапки в каталог контроллеров.

ответ

2

Я просто попробовал, без проблем. Я добавил подкаталог в моей директории Controllers и назвал его «SubFolder». Там я добавил контроллер под названием «SubController». Затем я добавил папку в своих представлениях под названием Sub и добавил View под названием Index. Я побежал приложение и переходите к:

http://localhost:2922/Sub/Index

без проблем. Возможно, я не понимаю ваш вопрос, но, похоже, нет проблем с добавлением вложенных папок в папку контроллеров.

+0

Я пробовал это и до тех пор, пока ваш контроллер имеет то же имя, что и папка, в которой он работает. Но если вы добавите еще один контроллер, вызовите его «Sub2Controller» в SubFolder, это не сработает для меня. Нужно ли мне менять маршруты или что-то еще? –

+0

У вас не возникло проблем с правилами маршрутизации. Он работает так, как вы описали. –

+0

@scurial Итак, проблема была не в том, что вы неправильно написали «Контроллеры»? ;-) –

1

Взгляните на архитектуру S # arp. Билли уже испекла концепцию областей. Вы можете найти информацию здесь: http://code.google.com/p/sharp-architecture/. Вы также можете найти информацию в группе google. Он очень активен и очень поддерживает.

Смежные вопросы