создание представления в представлении - PullRequest
1 голос
/ 10 ноября 2010

У меня довольно большой проект ASP.NET MVC 2, в котором контроллеры разделены на другой проект. Я хотел бы создать представление в родительском представлении.

У меня есть ParentController и ChildController, оба наследуются от "Controller". Я хотел бы создать папку с именем "ChildController" в "ParentController" и добавить туда представления.

Очевидно, это выдает ошибку «Ресурс не найден».

Нужно ли редактировать контроллеры? Это ограничение маршрутизации?

(Как) этого можно достичь?

Ответы [ 2 ]

0 голосов
/ 11 ноября 2010

По умолчанию представления проверяются в папке Views / {ControllerPrefix}.Затем в папке Views / Shared.

Ваша папка должна соответствовать префиксу контроллера, то есть:

ChildController

будет извлекать представления из

/views/child/

.напрямую ссылаться на представление на основе его пути приложения с любого контроллера:

~/views/child/subview.ascx
0 голосов
/ 10 ноября 2010

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

Но наличие нескольких контроллеров (независимо от их наследования) всегда должно быть папкой на контроллер в папке Views.

Полагаю, вы используете Html.RenderAction метод. Не имеет значения Ваша папка View должна иметь следующую структуру:

/Views
  /Parent
    /Index.aspx
    /Whatever.aspx
  /Child
    /SubView.ascx   <- this one here is a partial view if you use RenderAction()
...