2009-11-11 4 views
0

Есть ли эквивалент объекта ViewData/TempData в ASP.NET MVC для ASP.NET?Эквивалент для ViewData из ASP.NET MVC для ASP.NET?

Что я хочу сделать, так это сохранить объект сеанса только для одного запроса.

Заранее благодарен!

Edit:

Проблема заключается в том, что у меня есть одно представление для обновления и создания. Когда представление находится в режиме обновления, тогда элемент сеанса заполняется или он должен быть уже заполнен (!), А в режиме создания элемент сеанса имеет значение null. Поэтому, когда я нахожусь в режиме создания и отправляю страницу назад, чтобы обслуживать режим, измененный в режиме редактирования, и кнопка в представлении включена, потому что элемент сеанса заполнен. Режим зависит от элемента сеанса. Элемент Session может быть заполнен другим представлением или при успешном создании контакта. Значение элемента Session - контакт.

ответ

1

ViewState является ближайшим к вам. это хранилище с сохранением объема страницы, но оно сохранит многие последующие запросы на одну и ту же страницу.

Вы можете адаптировать его под свои нужды. Инициализируйте некоторое значение RequestID в конструкторе страницы и держите его в сеансе, тесно связанном с переменной сеанса, в которой вы нуждаетесь. При чтении с сеанса вы можете просто проверить, указывает ли идентификатор на текущий запрос или на какой-то из предыдущих поколений. Это более или менее то, как TempData реализуется.

Вы также можете просмотреть коллекцию RequestData. Он хранится только на одном запросе и не растягивается до следующего запроса.

0

Вы можете использовать request объект. Вы также можете найти страницу this.

1

Для одного запроса? Даже не обратная передача? Тогда вы можете просто использовать защищенное поле или свойство.

Смежные вопросы