Вызов контроллера / действия MVC во внешней сборке - PullRequest
1 голос
/ 23 октября 2011

Я пытаюсь вызвать действие контроллера, определенное во внешней сборке, но приложение всегда возвращает, что ресурс не найден. контроллер тривиален и выглядит так:

namespace MyExternal.Controllers
{
    [HandleError]
    public class ProjAdminController : Controller
    {
        public ActionResult Index()
        {
            return View();
        }
    }
}

Затем я обновил маршрут, добавив дополнительное пространство имен:

routes.MapRoute(
  "Default", // Route name
  "{controller}/{action}/{id}", // URL with parameters
  new { controller = "Home", action = "Index", id = UrlParameter.Optional },         
  new[] { "MyExternal.Controllers" }
 );

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

1 Ответ

1 голос
/ 23 октября 2011

IMO, вы должны добавить параметр area в вызов действия. Он должен содержать пространство имен этого контроллера.

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