【问题标题】:Accessing ViewData Model in PartialView在 PartialView 中访问 ViewData 模型
【发布时间】:2016-04-03 23:44:34
【问题描述】:
我像这样将数据传递给局部视图。
@foreach (var order in Model.Orders)
{
@Html.Partial("_GridCellsPartial", null, new ViewDataDictionary(new ViewDataDictionary() { { "order", order } }) { Model = Model })
}
现在有一种方法可以在部分视图中访问订单。 Order 还有一个项目列表。那么我是否能够以某种方式从 viewdatadictionary 中获取订单,然后获取其中的列表项。
【问题讨论】:
标签:
asp.net-mvc
asp.net-mvc-partialview
viewdata
【解决方案1】:
只需将“订单”实例作为模型对象直接传递给“Partial”方法,并在“_GridCellsPartial”PartialView 中按以下方式使用它:
渲染:
@foreach (var order in Model.Orders)
{
@*@Html.Partial("_GridCellsPartial", null, new ViewDataDictionary(new ViewDataDictionary() { { "order", order } }) { Model = Model })*@
@Html.Partial("_GridCellsPartial", order)
}
_GridCellsPartial:
@model OrderTypeClassNameHere
<ul>
@foreach (var item in Model.Items)
{
@*Model = Order Instance*@
<li>@item</li>
}
</ul>
【解决方案2】:
您可以像在普通字典中一样访问您的 ViewData 数据:
@ViewData["yourkey"]