Вызов @Html.Частичное отображение частичного представления, принадлежащего другому контроллеру [дубликат]
этот вопрос уже есть ответ здесь:
Рендеринг частичный из другой папки (не общий)
8 ответов
Я разрабатываю ASP.NET приложение MVC 3, страницы содержимого которого имеют общий шаблон элементов макета. Однако, поскольку страница входа не соответствует этому макету, я не могу разместить этот макет в ViewsShared_Layout.cshtml.
поэтому я хотел бы добавить еще один общий макет, скажем,ViewsShared_Content.cshtml, и вызывать ее из вида... но, к сожалению, эти представления принадлежат разным контроллерам.
есть ли способ, чтобы вызвать @Html.Partial для представления, принадлежащего другому контроллеру?
2 ответов:
Это не проблема.
@Html.Partial("../Controller/View", model)или
@Html.Partial("~/Views/Controller/View.cshtml", model)должен сделать трюк.
Если вы хотите, чтобы пройти через (другой) контроллер, вы можете использовать:
@Html.Action("action", "controller", parameters)или любой другой перегрузки
Как сказал GvS, но я также считаю полезным использовать строго типизированный вид Так что я могу писать что-то вроде
@Html.Partial(MVC.Student.Index(), model)без магических строк.
Comments