У меня есть сайт (MVC5) с частичным заголовком. В этом заголовке отображается имя пользователя и логотип организации, которую они представляют.
На каждой странице также есть ViewModel для конкретных страниц.
Можно ли каким-либо образом получить эту Частичную визуализацию на каждой странице из общей модели/объекта за кулисами или мне нужно добавить мою модель "viewheader" в модель просмотра на каждой странице?
Вы можете выполнить свое требование через ChildActionOnly
, скажем -
[ChildActionOnly]
public ActionResult LoggedIn()
{
// create your User View Model and pass it to Login Partial View
return PartialView("_LoginPartial", user);
}
Теперь создайте Partial View с строчной типизированной моделью, которую вы возвращаете из действия контроллера выше.
И в вашем макете вы можете получить частичный вид, как показано ниже -
@Html.Action("LoggedIn", "ControllerName")
Таким образом, вам не нужно включать одни и те же модели в разные виды.
_layout.cshtml
умолчанию?