В основном у меня есть структура веб-страницы, где общие части страницы (заголовок, боковая панель и т. Д.) Генерируются в отдельном контроллере, заполненном дочерними действиями, выводящими частичные виды. Затем я вызываю эти действия (используя RenderAction()) со страницы макета веб-сайта.Постоянные данные по внутренним трубопроводам/запросам
Так что (если я прав, говоря это), существует несколько внутренних конвейеров mvc (внутренние запросы заголовка/боковой панели), включая исходный конвейер запросов для конкретной веб-страницы. Как/Где я могу инициализировать некоторые данные из исходного запроса на конвейер и получить эти данные из других внутренних запросов конвейера mvc?
Резюме того, что я хочу сделать (с примером)
- Запрос на вебсайте.
- MVC начинает трубопровод для «Home» контроллер «индекс» действия.
- Перед выполнением действия необходимо создать некоторые данные, которые впоследствии могут быть доступны.
- На странице макета, несколько методов «RenderAction» получить казнены создание суб трубопроводов для INTERAL запросов (например, контроллер «Shell», «DisplayHeaderBar» действие
- «DisplayHeaderBar» необходим доступ к некоторым данным, который был установлен в шаге 3 перед рендеринга частичный вид
Надеемся, что это имеет смысл ...
Я бы хранить данные, созданные на шаге 3 в модели для «Home» Страница , затем передайте данные из модели в частичный вид. Подумайте о панели заголовка отображения в качестве подзаголовка, который уверенно отображает серверную сторону, но он отображается после основного конвейера. – theDarse
Частичный вид не находится на странице «Главная». Частичные представления (для заголовка/боковой панели) отображаются in_Layout.cshtml. Для Exmaple, в макете .... @ {Html.RenderAction ("DisplayHeaderBar");} @RenderBody() – Josh
Создайте viewModel для всей страницы.Когда вы вызываете RenderAction, передайте данные из основного видаModel в дочернее действие в @ Html.RenderAction. Затем в действии дочернего контроллера получите доступ к этим данным и уничтожьте их. – tranceporter