Визуализировать динамическое меню в _layout.cshtml - PullRequest
1 голос
/ 28 января 2012

Я работаю над приложением MVC3 с структурой сущностей и SQL Server 2008. Я хочу отобразить динамическое меню в файле _layout.cshtml, используя данные в моей базе данных (наиболее продаваемые продукты) и HTML-теги ul и li.Обычно представления могут получать объект модели, а файл _Layout - нет.Поэтому мне интересно, как я могу передать данные, необходимые для рендеринга меню, в _Layout.

1 Ответ

2 голосов
/ 28 января 2012

На мой взгляд, лучший подход - использовать RenderAction из вашего _layout.cshtml.Это действие может затем использовать любую модель, которую вы хотите отобразить в меню.

ETA: Пример здесь: https://stackoverflow.com/a/4624417/1169696

Другой подход заключается в получении всех ваших моделей из базовой модели, а затемиспользуйте эту базовую модель в качестве модели для _layout.У этого есть недостаток необходимости указывать модель во всех ваших представлениях, даже если они на самом деле не нуждаются в ней самих (и, конечно, необходимость извлечения всех моделей из базовой модели может рассматриваться как недостаток сам по себе).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...