2015-03-05 1 views
0

Update:Как получить частичный вид для асинхронного получения данных с контроллера. Воспринимается приложение Performance

У меня есть страница, которая загружает вид HTML следующим образом:

<div class="center-box"> 
    <div id="ourTeam"> 
     <div class="arrowLeft"></div> 
     <div class="arrowRight"></div> 
    </div> 
    <div class="containerParent"> 
     @Html.Partial("Team", Model.TeamMembers == null ? new List<UsersViewModel>() : Model.TeamMembers) 
    </div> 
</div> 

модель прошла в эту точку зрения PagesViewModel, который включает в себя кучу переменного дисплея и несколько объекты. Он также включает в себя следующее:

public IEnumerable<UsersViewModel> TeamMembers { get; set; } 

Это то, что отправлено в частичный вид. Контроллер для частичного вида выглядит следующим образом:

public ActionResult Team() 
{ 
    getInfo getting = new getInfo(); 
    IEnumerable<UsersViewModel> getUsers = getting.getDisplayUsers(); 
    return PartialView("Team", getUsers); 
} 

Но когда я запускаю его, код никогда не попадает сюда. Он просто отображает пустой список, который я отправил из представления.

Имя частичного файла вида является: Team.cshtml

Цель состоит в том, чтобы получить данные от контроллера для частичного вида

ответ

1

Это происходит, когда Partial View Model передается от View является null , вы можете справиться с этим, как это:

<div class="containerParent"> 
     @Html.Partial("Team", Model.TeamMembers ==null ? new List<UsersViewModel>() : Model.TeamMembers) 
    </div> 

или убедитесь, что по крайней мере, прошел сбор по меньшей мере, экземпляр с помощью конструктора ViewModel

если вы пытаетесь вынести частичный вид с помощью контроллера, то вы должны использовать @Html.Action():

@Html.Action("actionname","controllername") 
+0

Воля, сделать частичный вид попал в контроллер? – Termato

+0

Нет, он не пойдет к контроллеру –

+0

Думаю, я задал неправильный вопрос. Я делал это раньше, но проблема в том, что мне нужно получить это частичное представление, чтобы атаковать этот контроллер асинхронно. – Termato