Контроллер для частичных просмотров ASP.NET MVC - PullRequest
3 голосов
/ 01 апреля 2012

Я только недавно начал создавать веб-сайт с использованием ASP.NET - MVC 4, и я пытаюсь обдумать, как это работает.

Есть некоторые данные, которые я хотел бы отобразить накаждая страница и понял, что частичные представления отлично подходят для этого.

Можно ли создать контроллер, который всегда предоставляет данные для частичного просмотра?Или как я могу решить это?

Ответы [ 3 ]

8 голосов
/ 01 апреля 2012

Это называется дочерним действием.

Вызов Html.Action(...).

2 голосов
/ 01 апреля 2012

Вы можете создать действие контроллера для частичного просмотра. Но если вы хотите включить что-то на каждой странице, вам следует подумать о добавлении этого на страницу _Layout.cshtml

Вы можете создать обычный метод действия, который возвращает частичное представление, подобное этому

public ActionResult UserInfo()
{
  UserViewModel objVm=GetUserInf();
  //  do some stuff

 return View("PartialUserInfo",objVM);

}

Это вернет представление с именем «PartialUserInfo», присутствующее в вашей папке Views/Users (Предполагается, что имя вашего контроллера - «Пользователи». Если вы хотите указать представление, которое находится в другом месте, вы можете упомянуть его при вызове представления метод

returnView("Partial/UserInfo",objVm);

Это вернет представление с именем «UserInfo» в вашей папке Views/Users/Partial.

в вашем частичном представлении вы можете отключить нормальный макет (если он у вас есть), сделав это

@model UserViewModel 
@{
  Layout=null;
}
0 голосов
/ 01 апреля 2012

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

EX:

MainModel.ModelForPArtialView1
MainModel.ModelForPArtialView2
MainModel.ModelForPArtialView3

Таким образом, вы можете сделать это в родительском представлении

@Html.Partial("PartialView1",MainModel.ModelForPArtialView1)
@Html.Partial("PartialView2",MainModel.ModelForPArtialView2)
@Html.Partial("PartialView3",MainModel.ModelForPArtialView3)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...