Как использовать вложенное представление с моделью, отличной от модели основного представления?

#c# #razor #partial-views

#c# #razor #частичные представления

Вопрос:

Я хочу использовать частичное представление для представления строк таблицы:

 // 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>
...
  

Но это не работает. Почему?

Ответ №1:

Вызов Html.Partial возвращает MvcHtmlString без записи чего-либо на страницу.

Вам нужно добавить @ для рендеринга MvcHtmlString на страницу.