使用IEnumerable从局部视图渲染具有单个模型的局部视图

时间:2014-05-03 03:00:53

标签: asp.net-mvc asp.net-mvc-4 razor asp.net-mvc-partialview

我试图弄清楚如何从使用该模型的IEnumerable的视图中呈现单个模型。我似乎无法弄清楚如何使用剃须刀发送它

现在我收到错误:

MyApp.Models.DefectsVM' is a 'type' but is being used like a 'variable'

在我的主视图中的这一行(在我尝试传入的DefectsVM模型下):

@{Html.RenderPartial("~/Views/Defect/defectsPartial.cshtml", DefectsVM);}

我的部分观点是使用模型:

@model MyApp.Models.DefectsVM

我的主要观点是:

@model IEnumerable<MyApp.Models.DefectsVM>

我不确定需要所有其他信息,如果需要编辑,请告诉我。但是,感谢您阅读并花时间提供帮助。

1 个答案:

答案 0 :(得分:1)

您需要使用Model来引用您的模型。但在您的情况下,Model将返回IEnumerable<MyApp.Models.DefectsVM>,因此您需要对其进行迭代,然后渲染您的部分内容。

类似的东西:

foreach(var defectsVM in Model)
{
    @{Html.RenderPartial("~/Views/Defect/defectsPartial.cshtml", defectsVM);}
}

无论IEnumerable是否包含一个或多个,都应该有效。