asp.net-mvc - 如何在 ASP.NET MVC 中将模型从视图传递到 PartialView?
问题描述
我有一个视图ShowAll
,我想在其中调用另一个视图EmployeeRecord
和 CustomerRecord
. 它给了我错误
消息“对象引用未设置为对象的实例。” 细绳
@foreach (var item in Model){
在EmployeeRecord
视图附近。
我不知道它会如何击中下面的EmployeeRecord
控制器。
谁能帮帮我吗。
ClsShowAll 模型
public class ClsShowAll
{
public IEnumerable<ClsEmployeeRecord> clsEmployeeRecord { get; set; }
public IEnumerable<ClsCustomerRecord> clsCustomerRecord { get; set; }
}
控制器
public ActionResult ShowAll()
{
return View();
}
查看“显示全部”
@model xx.xx.xx.ShowAll.ClsShowAll
<div class="container">
<div class="panel panel-default">
<div class="panel-body">
@RenderPage("~/Views/EmployeeRecord/EmployeeRecord.cshtml")
</div>
</div>
<div class="panel panel-default">
<div class="panel-body">
@RenderPage("~/Views/CustomerRecord/CustomerRecord.cshtml")
</div>
</div>
</div>
员工记录视图
@model IEnumerable<xx.xx.xx.EmployeeRecord.ClsEmployeeRecord>
<table>
<tr>
<th>
@Html.DisplayNameFor(m => m.EmployeeName)
</th>
</tr>
@foreach (var item in Model)
{
<tr>
<td>
@Html.DisplayFor(modelItem => item.EmployeeName)
</td>
</tr>
}
</table>
控制器
public ActionResult EmployeeRecord()
{
return View(Details.EmployeeList());
}
解决方案
你需要使用@Html.Partial(...)
.
如果您想将模型传递给PartialView
,那么您可以使用 @Html.Partial("EmployeeRecord", model.Employee)
<div class="container">
<div class="panel panel-default">
<div class="panel-body">
@Html.Partial("EmployeeRecord")
</div>
</div>
<div class="panel panel-default">
<div class="panel-body">
@Html.Partial("CustomerRecord")
</div>
</div>
</div>
您可以下载 Adam Freeman 所著的 Pro ASP.NET MVC 5 书的示例源代码,并查看如何PartialView
在 -