Общий макет MVC3 - частичное представление - PullRequest
2 голосов
/ 29 ноября 2011

Я хочу включить частичное представление в шаблон Shared Layout.Это частичное представление также имеет свой собственный контроллер и модель, например

_MyPartialView.cs

@ model MyModelClass

.. некоторый код .. @Model.SomeProperty

PartialController.cs

 public PartialViewResult RenderMyPartial()
    {
        var model = new MyModelClass();
        model.Initialize();
        return PartialView("_MyPartialView", model);
    }

_Layout (общий макет)

@Html.Action ("RenderMyPartial"," PartialController ")

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

Однако, когда я запускаю это, я получаю следующую ошибку:

Контроллер для пути '/ XXX /' не найден или не реализует IController.

IЯ осмотрелся вокруг, но был удивлен, что это не очень распространенный шаблон дизайна, и удивился, почему?Есть идеи?

Спасибо, Дункан

1 Ответ

6 голосов
/ 29 ноября 2011

Измените свой _Layout, чтобы прочитать:

@Html.Action("RenderMyPartial", "Partial")

Вам не нужно иметь контроллер на конце, даже если он находится в классе

...