Szukałem zdarzenia, które mogłoby wystrzelić, lub sposobu na stwierdzenie, czy użytkownik opuszcza stronę. Możesz przejść do innej strony lub całkowicie zamknąć stronę. Czy to możliwe dzięki wydarzeniom, które strzelają?C# Strona ASP.NET Opuszcza wydarzenie?
Odpowiedz
Nie w ASP.NET jako takim.
Będziesz musiał napisać javascript z przodu, aby to zrobić, używając czegoś takiego jak window.onbeforeunload()
. Następnie musisz wykonać wywołanie AJAX, aby powiedzieć back-endowi, że to wydarzenie się dzieje. Oczywiście nie jest to niezawodne. Awaria przeglądarki lub wymuszone "zamknięcie" nie uruchomiłoby tego zdarzenia.
Nie za pośrednictwem zdarzeń po stronie serwera. Wykrywanie opuszczania strony wymaga JavaScript.
po stronie klienta, można użyć onunload()
(lub onbeforeunload()
, otrzymując „jesteś pewien”, że będą wdzięczni, jeśli oznaczałoby to Zatrzymali przypadkowo zamykania coś po napisaniu długiego stackoverlow.com post, ale będzie drażnić użytkowników w większości przypadków).
Po stronie serwera, nie można tak naprawdę, choć można mieć onunload zrobić coś, co zasygnalizuje serwerowi.
Z reguły oznacza to, że traktujesz sieć jako stanową, a nie bezpaństwową. Projekty bezstanowe działają lepiej dzięki protokołom bezstanowym, takim jak sieci; im bardziej aplikacja traktuje każde żądanie jako unikalne i niezależne od wcześniejszych żądań (choć oczywiście to, co to jest, zależy od tego, jak klient potraktował poprzednie żądanie), tym bardziej skalowalna i niezawodna jest Twoja aplikacja.
- 1. WPF C strona kontrola # Użytkownik IsVisibleChanged wydarzenie
- 2. ASP.NET + ModalPopupExtender + Kliknij wydarzenie
- 3. Strona ASP.net bez kodu za
- 4. Strona próbna ASP.NET
- 5. C# DropDownList zmiana wydarzenie
- 6. Strona wzorcowa ASP.NET DefaultButton override
- 7. Domyślna strona docelowa ASP.NET WebAPI
- 8. Logika warunkowa w ASP.net strona
- 9. Asp.Net: Strona debugowania w iis
- 10. Screen-scraping strona z formularzem asp.net zaloguj się w C#?
- 11. Przekazywanie NetworkCredential do HttpWebRequest w języku C# z ASP.Net Strona
- 12. MVC strona 4 Beta błędem instalacji strona
- 13. jQuery serialize() opuszcza textarea
- 14. Strona pomocy ASP.Net Web API Strona zwracająca puste wyjście
- 15. Strona asp.net LINQ przeciwko MS Access.
- 16. C# Autouzupełnianie Texbox Kliknij wydarzenie
- 17. Podnieś wydarzenie w języku C#
- 18. C# wykryć strona przekierować
- 19. Deleguj wydarzenie dwukrotnie, wydarzenie
- 20. asp.net cms podmenu strona nie działa
- 21. aktywny element menu - asp.net strona główna mvc3
- 22. Wiele języków (angielski, francuski) na ASP.NET Strona
- 23. asp.net mvc Odpowiedź autoryzowana to pusta strona?
- 24. klasyczna strona asp/asp.net - global.asa nie działa
- 25. C# "LUB" wydarzenie deleguje zwrot bool
- 26. WPF DataGrid nie opuszcza trybu edycji
- 27. Pokaż wydarzenie słuchaczy - Javascript
- 28. (Najwyraźniej) Wdzięcznie zamknięty UDPClient opuszcza gniazdo zablokowane
- 29. Wykryj kiedy mysz opuszcza górną stronę jquery
- 30. Czy sygnał ZABISKU natychmiast opuszcza proces?
@Nic: Ponieważ aplikacja internetowa nie może polegać na tym zachowaniu, należy rozważyć zaprojektowanie aplikacji bez niej. –
Dziękuję Dave! Poinformuję później o próbce dla osób, które są zainteresowane. Jeszcze raz dziękuję za sugestię Dave. – Nic
@Jeff Mattfield; Tak, zgadzam się z tobą, ale nie zawsze możesz przyjąć takie prymitywne nastawienie w realnym świecie rozwoju. Czasami jesteśmy umieszczani na stanowiskach, w których dziedziczymy aplikację, a wspomniana aplikacja nie była łuk z tą metodologią i wszystko, co próbujesz zrobić, to zrobić porządek, aby kupić, dopóki nie możesz zainwestować czasu. – Nic