Mvc: как скоординировать модель данных для частичного представления в _layout?
Я создаю боковую панель "новости", которая должна сохраняться на веб-сайте во всех других представлениях, а данные извлекаются из базы данных в ViewBag.
Как я должен архитектировать сайт, чтобы сохранить частичное представление (или раздел...), которое ссылается на одни и те же данные на всех страницах? Разделение моделей / контроллеров и представлений блокирует эту конструкцию, когда другие представления сайта зависят от разных контроллеров.
Что я уже пробовал:
Я создал это как частичное представление, вызванное _layout, и снабдил его данными, запрошенными в домашнем контроллере и сохраненными в ViewBag для доступа к вызванному частичному представлению.
Однако при загрузке других страниц сайта они не имеют доступа к модели данных, которая изначально была заполнена домашним контроллером.
John C Rayan
Если вы используете partialview с переданной моделью, то вы должны убедиться, что модель передается частичному со всех страниц.
Однако в вашем случае, если вы используете _layout, вам не нужно использовать partialview, потому что _layout автоматически делится всеми страницами.
Таким образом, вы должны повторно посетить свой дизайн и сделать его проще.
Member 4594688
Вот в чем проблема. Архитектура _layout позволяет легко повторно использовать визуальный компонент, но как насчет данных, представленных этим компонентом? Я не хочу извлекать одни и те же данные для каждого отдельного представления на веб-сайте.
Мой дизайн "прост", но он не работает, поэтому мне, возможно, придется сделать его более сложным, чтобы заставить его работать.