将部分视图作为IEnumerable传递给单个模型

时间:2017-10-22 00:27:07

标签: c# asp.net-mvc-5 entity-framework-6

我试图在创建视图上创建项目列表。

我使用的是VS2017,EF6,MVC5,Code First。

我有一个名为_Patients的部分视图

var date = moment(),
begin = moment(date).startOf('week').isoWeekday(1);

var arr = [];
for (var i=0; i<35; i++) {
    arr.push(begin.format('D'));
    begin.add('d', 1);
}

$scope.arr = arr;

我的主要观点是Create.cshtml

我正在添加部分视图

@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>

我的主要观点是使用单一项目模型

@Html.Partial("_Patients")

当我将主视图模型更改为@model ContosoUniversity.Models.Patient

列表显示正确,但表单字段给我错误,因为它的类型错误。

我想将部分视图作为IEnumerable<ContosoUniversity.Models.Patient>传递,这可能吗?

1 个答案:

答案 0 :(得分:0)

尝试以下列方式加载您的部分

@Html.Partial('_Patients', new List<ContosoUniversity.Models.Patient>())