Эквивалентно ViewData из ASP.NET MVC для ASP.NET?

Asked
Viewd817

0

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

Я хочу, чтобы элемент сеанса оставался активным только для одного запроса.

Заранее спасибо!

Изменить:

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

3 ответов

1

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

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

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

0

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

1

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