У меня есть уникальный сценарий, где я хочу, чтобы базовый контроллер захватил некоторые данные и сохранил их в списке. Список должен быть доступен из моих представлений так же, как и ViewData. Я буду использовать этот список на каждой странице и хотел бы сделать более чистое решение, чем просто перетащить его в ViewDataDictionary.ASP.NET MVC передает информацию от контроллера для просмотра WITHOUT ViewData, ViewModel или сеанса
После попытки найти решение, я подумал, что создам пользовательскую ViewPage с свойством для хранения моего списка. Мой пользовательский ViewPage наследуется от System.Web.MVC.ViewPage. Однако я не знаю, где MVC передает данные просмотра с контроллера на представление. Что еще более важно, как мне заставить его передать мой список до представления?
Спасибо за помощь.
EDIT ....
Извините за путаницу. Я пытался максимально упростить вопрос, чтобы избежать путаницы. Очевидно, что это не сработало :)
Я реализую свое собственное управление сеансом в проекте .net mvc. Когда приходит запрос, мой базовый контроллер проверяет, был ли отправлен куки-файл сеанса вместе с запросом в методе OnActionExecuting. Если был отправлен куки-файл сеанса, мой контроллер попадает в базу данных и извлекает информацию о сеансе пользователя. Информация о сеансе (userid и т. Д.) Помещается в объект списка и сохраняется в свойстве «Sess».
Я хочу, чтобы иметь возможность доступа к элементам в списке Sess из моих взглядов, как это:
Итак, как и где я могу получить мой контроллер передавать список SESS к моим взглядам?
Я понимаю, что это не так, как обычное управление сеансом, как правило, реализуется в .net. Однако это было бы самым простым и чистым решением для моего проекта.
Спасибо всем, кто помог до сих пор!
Это один из тех сценариев, которые звучат как RenderAction, могут быть лучше подходят для работы. Если есть данные, которые необходимо получить на каждой странице (например, меню), RenderAction делает это намного проще. Это простой способ пройти жизненный цикл, чтобы вы могли делиться частями вашего приложения (меню, объявления, виджеты). – Jab
Я согласен с Jab, идите с RenderAction, если вам нужны динамические данные, которые должны быть вытащил из хранилища данных или отправился с RenderPartial, если вы просто хотите отобразить ASCX (вы также можете предоставить модель для RenderPartial, если хотите) – mare