将部分视图作为IEnumerable传递给单个模型
我试图在创建视图上创建项目列表。将部分视图作为IEnumerable传递给单个模型
我使用VS2017,EF6,MVC5,代码第一次。
我有一个名为_Patients
的局部视图@model IEnumerable<ContosoUniversity.Models.Patient>
<table class="table>">
<thead>
....
</thead>
<tbody>
@foreach (var item in Model)
{
<tr>
<td>@Html.DisplayFor(modelItem => item.PatientFirstName)</td>
</tr>
}
</tbody>
</table>
我的主要观点是Create.cshtml
,我加入局部视图
@Html.Partial("_Patients")
我的主视图使用单个项目模型
@model ContosoUniversity.Models.Patient
当我将主视图模型更改为IEnumerable<ContosoUniversity.Models.Patient>
列表正确显示,但表单字段给我错误,因为它的类型错误。
我想只是通过局部视图为IEnumerable
,这可能吗?
尝试加载部分在以下几个方面
@Html.Partial('_Patients', new List<ContosoUniversity.Models.Patient>())
相同的错误:传递到词典中的模型项的类型为“System.Collections.Generic.List'1 [ContosoUniversity.Models.Patient]”,但是这需要字典类型的模型项“ContosoUniversity.Models.Patient”。 –
看到这个帖子https://stackoverflow.com/questions/27378288/but-this-dictionary-requires-a-model-item-of-type-system-collections-generic-ie –
我已经试过了已经,只是为了好玩,我再次将我的部分视图代码更改为@ {Html.RenderPartial(“_ Patients”,new List
不太清楚你想在这里做的 - 你想从主模型通过Patient'的'的单个实例的部分(为什么) ? –
@ Html.DisplayFor(modelItem => item.PatientFirstName缺少一个圆括号?在您的问题中复制/粘贴格式问题? – TamusJRoyce
我的问题不清楚?我需要在创建视图中填充患者列表。我想我在第一篇文章中非常清楚,当我说“我正在创建一个创建视图中的项目列表”。为什么你会认为我试图将一个Patient实例从主体传递给部分? –