Как можно сохранить и восстановить состояние просмотра страницы сеанса в сценарии без обратной передачи, а не при обратной передаче? - PullRequest
1 голос
/ 24 января 2012

В настоящее время я восстанавливаю состояние, повторно запрашивая базу данных, чтобы заполнить сетку, но страница загружается слишком медленно. Вместо этого я хотел бы сохранить viewstate в переменных сеанса и восстановить его, когда пользователь повторно посещает страницу. Как это сделать? Должен ли я использовать SessionPageStatePersister ? Это не ситуация обратной передачи или даже обратная передача на нескольких страницах.

Справочная информация: Я использовал шаблон веб-приложения VS 2010 ASP.Net с главной страницей и несколькими страницами с вкладками. Состояние теряется при переходе на новую вкладку. Вкладка «Мои клиенты» позволяет пользователю фильтровать и выбирать одного клиента из AspxGridView. Выбранный идентификатор клиента хранится в переменной сеанса и используется для отображения связанных данных клиента на других вкладках: контакты, счета-фактуры, задачи и т. Д. Я могу сохранить и восстановить фильтр, сортировку и макет сетки клиентов с помощью SaveClientLayout . Но я не знаю, как восстановить данные сетки без повторного запроса к базе данных.

Я нашел этот урок и реализовал код в разделе под названием SessionPageStatePersister. Я скопировал код и создал SessionPageStateAdapter и файл .browser. Я запутался в том, как получить доступ к данным состояния сеанса. Мне нужна помощь с как сохранить viewstate и восстановить его после того, как пользователь посетил несколько других страниц?

1 Ответ

0 голосов
/ 24 января 2012

Viewstate - это способ управления состоянием сеанса на стороне клиента.

Он внедряет код в отображаемую HTML-страницу.

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

Если вы хотите сохранить состояние в течение сеанса браузера, у вас есть два пути:

  • продолжить его сохранение в базе данных.
    Если у вас есть проблемы с производительностью, рассмотрите возможность использования кэша ASP.NET

  • хранит вашу информацию в файле cookie.

...