Жизненный цикл страницы — вызов метода, когда пользователь посещает другую страницу или выходит из системы

Я использую веб-формы ASP.net и C#.

У меня есть страница A с методом X.

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

Мои вопросы:

  • Какое правильное событие использовать?
  • Как это реализовать?

Пожалуйста, предоставьте мне пример кода.

Спасибо за вашу помощь!


person GibboK    schedule 04.07.2011    source источник


Ответы (2)


Практически по определению это не событие на вашем сайте. Однако это событие в браузере. JQuery/Javascript - хороший способ:

Определять, когда пользователь покидает веб-сайт

person Kieren Johnstone    schedule 04.07.2011
comment
Мне нужно решение с MS Tool Box, а не с другими библиотеками... Есть идеи? спасибо за ваш комментарий по этому поводу. - person GibboK; 04.07.2011
comment
Нет встроенного метода ASP.NET для определения, когда пользователь переходит на внешний сайт или закрывает окно. Для этого вам нужно использовать Javascript, и даже тогда он не является надежным. - person Kieren Johnstone; 04.07.2011
comment
JavaScript поддерживается MS уже много-много лет, а JQuery теперь включен во все новые проекты, созданные в Visual Studio, и официально поддерживается (т. е. вы можете позвонить им и сказать, что все сломалось, помогите!) на пару лет, поэтому я бы сказал, что и JS, и JQuery находятся в наборе инструментов MS. - person Zhaph - Ben Duguid; 04.07.2011

Вероятно, вы можете добавить файл Global.asax в свой проект веб-сайта. Затем попробуйте реализовать логику метода X в обработчике событий Application_BeginRequest. В этом обработчике вы можете обнюхивать запросы, чтобы знать, какая страница была запрошена клиентом (работает, только если страницы находятся В вашем веб-приложении :))

person Ventsy Popov    schedule 04.07.2011
comment
Это будет срабатывать в начале каждого запроса, но ничего не скажет вам о том, что пользователь покидает ваш сайт, чтобы перейти в другое место :( - person Zhaph - Ben Duguid; 04.07.2011
comment
Согласитесь, это вообще не ответ на вопрос (-1, извините) - person Kieren Johnstone; 04.07.2011