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

本文关键字:视图 局部 模型 | 更新日期: 2023-09-27 18:21:55

我有一个视图,它需要通过它所使用的模型将数据(在循环中迭代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>

但是在这样做之后,当使用局部视图时,我无法获得任何要显示的数据。未显示任何错误,但未返回任何数据。

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

提前谢谢。

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

使用Html.Partial而不是RenderPartial:

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

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

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