如何获取局部视图以从控制器异步获取数据。感知性能应用
How to get partial view to asynchronously get data from controller. Perceived Performance application
更新:
我有一个加载 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
目标是从控制器获取部分视图的数据
当View传过来的Partial View Model是null
时会出现这种情况,你可以这样处理:
<div class="containerParent">
@Html.Partial("Team", Model.TeamMembers ==null ? new List<UsersViewModel>() : Model.TeamMembers)
</div>
或者确保至少传递的 Collection 至少通过 ViewModel 的构造函数实例化
如果你试图通过控制器渲染部分视图,那么你必须使用 @Html.Action()
:
@Html.Action("actionname","controllername")
更新:
我有一个加载 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
目标是从控制器获取部分视图的数据
当View传过来的Partial View Model是null
时会出现这种情况,你可以这样处理:
<div class="containerParent">
@Html.Partial("Team", Model.TeamMembers ==null ? new List<UsersViewModel>() : Model.TeamMembers)
</div>
或者确保至少传递的 Collection 至少通过 ViewModel 的构造函数实例化
如果你试图通过控制器渲染部分视图,那么你必须使用 @Html.Action()
:
@Html.Action("actionname","controllername")