如何使用具有与主视图不同的模型的子视图

本文关键字:模型 视图 主视图 何使用 | 更新日期: 2023-09-27 17:56:46

我想使用分部视图来表示表的行:

// SomeItem.cshtml
@model SomeItemModel
<tr>
    <td>
        @Html.DisplayTextFor(m => m.SomeField)
    </td>
    <td>
        @Html.DisplayTextFor(m => m.AnotherField)
    </td>
</tr>

并从表示包含该表的页面的视图中调用它:

// SomeCollection.cshtml
@model SomeCollection
...
<table><tbody>
@foreach (TipoDocumentoModel item in Model) {
    Html.Partial("SomeItem", item);
}>
</tbody></table>
...

但它不起作用。为什么?

如何使用具有与主视图不同的模型的子视图

调用 Html.Partial 返回一个MvcHtmlString,而不向页面写入任何内容。

您需要添加一个@才能将MvcHtmlString呈现到页面。