Есть основной стандартный Layout, в котором отображаю части верхнего меню _NavigationLayout, боковое меню _PanelNewsLayout, рабочую область с помощью @RenderBody().
<!DOCTYPE html>
<html>
...
<body>
@Html.Partial("_NavigationLayout")
<div class="main">
@Html.Partial("_PanelNewsLayout")
<div class="content">
<div class="container">
@RenderBody()
</div>
</div>
</div>
...
</body>
</html>
Проблема в том, что боковое меню _PanelNewsLayout выглядит как дерево и должно формироваться с помощью данных из базы данных. Сейчас я сделал просто: в контроллере NewsController обрабатываются данные из базы и формируются в нужную модель, которая передается представлению Index и отрисовывается все это в рабочей области с помощью RenderBody. Теперь надо сделать так, чтобы все это дерево было в боковом меню.
Попытался перенести код из представления Index в _PanelNewsLayout, но требуется модель.
Как вариант, можно использовать TempData или Session для хранения модели.
Но хорошо ли это?
Возможно, есть другой вариант с заменой макета _PanelNewsLayout на представление с контроллером?