将模型从视图传递到局部视图

时间:2015-11-15 12:38:29

标签: c# asp.net-mvc asp.net-mvc-4

我有一个视图需要通过它用于其他局部视图的模型传递数据(循环迭代n次)。该局部视图显示了每次迭代完成的数据。

视图的代码是:

@model IEnumerable<Domain.Car>

<table>
@foreach (var item in Model) {
    <tr>
        <td>
            @{Html.RenderPartial("~/Views/Shared/_Details.cshtml", item);
        </td>
    </tr>
}
</table>

局部视图中的代码如下:

@model Domain.Car

<div>
    Title: @Model.Title
    Description: @Model.Description
</div>
<hr>

但是在执行此操作后,使用局部视图时无法显示任何数据。没有显示错误但没有返回数据。

有人可以帮我解决这个问题吗?

提前谢谢。

1 个答案:

答案 0 :(得分:2)

使用Html.Partial代替RenderPartial

 @Html.Partial("~/Views/Shared/_Details.cshtml", item);

Html.Partial返回一个String,Html.RenderPartial在内部调用Write,并返回void。

看一下这个答案:https://stackoverflow.com/a/5248218/5071902