Как записать состояние сеанса - PullRequest
0 голосов
/ 09 апреля 2009

У меня есть приложение главной страницы asp .net, и на одной странице содержимого есть несколько элементов управления.

Я хочу сохранить содержимое / состояние этих элементов управления в состоянии сеанса всякий раз, когда пользователь переходит на другую страницу содержимого.

Мой вопрос: как мне узнать, когда захватить контрольное состояние? Есть ли событие какого-либо типа, которое я могу использовать для запуска процедуры?

Заранее спасибо за любую информацию.

Bill

Ответы [ 3 ]

2 голосов
/ 09 апреля 2009

Нет реальных «глобальных» обработчиков событий на стороне сервера, которые вы могли бы использовать, чтобы определять, когда пользователь переходит на другую страницу (или даже просто нажимать кнопку «Назад» в браузере).

Лучше всего просто написать метод на главной странице, который сохранит ваше состояние сеанса, а затем выполнить Response.Redirect () в указанном месте. Затем сделайте так, чтобы все ваши ссылки проходили через этот метод, когда вам нужно отслеживать состояние сеанса.

0 голосов
/ 10 апреля 2009

Как насчет использования переменных сеанса?

См. Эту ссылку для получения дополнительной информации: ASP.Net Session

Существует несколько способов поддержания состояния. Есть компромиссы независимо от того, какую версию вы используете. Например, я бы не использовал переменные сеанса в приложении, которое сбалансировано по нагрузке на нескольких серверах; вы не гарантированно получаете один и тот же сервер для каждого запроса, а состояние сохраняется для каждого сервера отдельно.

Трудно победить это

Session["myState"] = 7;  // bad example

для простоты, хотя. :)

0 голосов
/ 09 апреля 2009

Предположительно, они уходят с этой страницы с помощью предоставленного вами элемента управления (кнопка, ссылка и т. Д.). В этот момент вы можете перехватить действие на стороне сервера и кэшировать ваше состояние.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...