Я пишу пользовательский модуль Orchard с пользовательской темой. Я хотел бы передать данные из представления обратно в макет, чтобы изменить макет на основе данных, определенных в представлении.
В моем примере у меня есть левая навигация в моей теме - определенные представления должны быть в состоянии указать макету не отображать эту левую навигацию.
В стандартном mvc 3 я просто передавал бы значение через ViewBag, но это не работает в Orchard - я предполагаю, что код макета выполняется перед визуализацией View?
Я рассмотрел использование Shape для перемещения этих данных, но похоже, что он может быть немного тяжелым для того, чего я пытаюсь достичь.
Какова лучшая практика для передачи данных в качестве альтернативы ViewBag?
Обновление: После того, как я немного поигрался с этим, я только что заметил, что TempData выбирается в Layout - может кто-нибудь объяснить, почему TempData передается, а ViewData нет? И это безопасно использовать от Orchard POV?