在局部视图中从模型访问单个项目

时间:2016-08-26 11:25:15

标签: asp.net-mvc asp.net-mvc-4 model asp.net-mvc-5 partial-views

在MVC 5中,我在我的视图中循环浏览模型项

@foreach (var item in Model.invoices)

在每个循环中,我调用部分视图

@{     
       Html.RenderPartial("~/Views/Invoice/CommonSegment.cshtml", item);
 }

但我无法访问 CommonSegment.cshtml

中的模型('item')

Snap from Visual Studio

            <tr>
                <td class="orderTitle">@item.orderId.label</td>
                <td class="orderValue">@item.orderId.value</td>
            </tr>

我指的是View和PartialView中的相同模型。

我不想使用 ViewBag

提前致谢。

1 个答案:

答案 0 :(得分:0)

你可以在循环中做到这一点,

@foreach (var item in Model.invoices)
{
   @Html.RenderPartial("~/Views/Invoice/CommonSegment.cshtml", item);
}

但是为什么在使用编辑器模板时编写foreach循环。

@model IEnumerable<Invoices>
@Html.EditorForModel()

然后只需定义相应的编辑器模板(~/Views/Invoice/CommonSegment.cshtml)它将自动为模型的每个元素呈现:

@model Invoices
<div>
    @Html.EditorFor(x => x.abc)
</div>