Доступ к модели ViewData в PartialView

Я передаю данные в частичное представление следующим образом.

@foreach (var order in Model.Orders)
{
    @Html.Partial("_GridCellsPartial", null, new ViewDataDictionary(new  ViewDataDictionary() { { "order", order } }) { Model = Model })
}

Теперь есть способ получить доступ к порядку в partialView. Заказ также имеет список предметов внутри него. Итак, я могу каким-то образом получить порядок из словаря представления данных, а затем получить элементы списка внутри него.


person Community    schedule 27.01.2016    source источник


Ответы (2)


Просто передайте экземпляр «order» как объект модели непосредственно в метод «Partial» и используйте его внутри PartialView «_GridCellsPartial» следующим образом:

Оказывать:

@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>
person Mikhail    schedule 27.01.2016

Вы можете получить доступ к своим ViewData данным, как в обычном словаре:

@ViewData["yourkey"]
person iuliu.net    schedule 27.01.2016