На главной странице моего сайта я хотел бы показать несколько представлений, которые полагаются на свои собственные контроллеры для извлечения данных. Я не хочу получать данные из DAL в моем контроллере Home.
Например, я хочу показать просмотр списка топ-5 новостей, просмотр со случайной цитатой из базы данных, другой просмотр с содержимым корзины покупок пользователей и т. Д.
После поиска в Google я нашел RenderAction
метод, который почти идеален, но он недоступен в RC1, только в Futures, и, по-видимому, у него есть некоторые проблемы.
Я также нашел RenderPartial
, но для передачи данных в представление используется главный контроллер.
Дополнительные уточнения:
Основная причина, по которой мне не нужна логика доступа к данным в контроллере Home, - это избегать повторения кода и логики. Я буду использовать 5 лучших новостей на нескольких страницах / контроллерах. Я не хочу повторять поиск данных в каждом из них. Я уже сделал много логики и проверки для бизнес-уровня. Решение, которое мне нужно, это RenderAction или UserControls, как в классическом ASP. Я знаю, что могу использовать их и в MVC, но ... какой в этом смысл? Я имею в виду, что если то, что я спрашиваю, слишком сложно или слишком абсурдно (повторно используемые компоненты пользовательского интерфейса), то MVC определенно не для меня, и я бы посчитал, что он серьезно уступает классическому ASP.NET, потому что это требование действительно простое.