ASP.NET MVC архитектура - PullRequest
1 голос
/ 30 июля 2009
routes.MapRoute(
  "Default", // Route name
  "{controller}/{action}/{id}", // URL with parameters
  new { controller = "My", action = "MyFolder", id = "" } // Parameter defaults
);

Приведенный выше код поможет вызвать представление, которое находится в действии MyFolder, которое находится в MyController того же проекта.

Что если MyController находится в другом проекте в форме DLL, который я включил в свой активный проект. Как вызвать соответствующий View?

Ответы [ 2 ]

1 голос
/ 30 июля 2009

Если класс контроллера MyController находится в другом проекте, то создание маршрута не будет выполнено, поскольку при запуске приложения MVC отображает все классы в исполняемой сборке с постфиксом «Controller». Если он не может найти соответствующее имя контроллера, приложение не запустится.

Я попытался переместить / получить доступ к контроллеру в другом проекте (хорошим примером будет проект инструмента администратора, где вы можете захотеть отделить некоторые аспекты приложения). Это привело к ошибкам.

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

0 голосов
/ 30 июля 2009

То, что сказал Дэн, верно. Чтобы использовать контроллеры в другом проекте, вам нужно расширить DefaultControllerFactory.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...