begin process at 2012 02 12 08:49:51
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive ASP & ASP.NET

 > 

Archives ASP & ASP.NET

 > 

AU SECOURS !!!!

 > 

Evenement unload ?


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Evenement unload ?

lundi 11 avril 2005 à 15:12:57 | Evenement unload ?

systemic_anomaly


Bonjour,

J'aimerais tout simplement exécuter une opération particulière lorsque je quitte une page. Donc récupérer un évènement lorsque je clique sur un autre lien (menu web user control) qui m'envoi vers une autre page ou lorsque je quitte l'application (croix rouge. Possible ?).

J'ai essayé l'évènement Unload et j'ai vérifié qu'il passe bien dedans mais pas qd j'en ai vraiment besoin donc tt à la fin.

Merci d'avance.

lundi 11 avril 2005 à 18:04:57 | Re : Evenement unload ?

jesusonline

Membre Club Administrateur CodeS-SourceS
l'evenement unload coté serveur, se declenche quand le garbage collector en a envie, donc pas fiable comme truc :D

sinon pour faire une action coté serveur, quand le client part c'est pas évident, car tu sais pas quand celui ci part vu qu'asp.net travaille en mode deconnecté. Pour cela il faudra utiliser des petites astuces.

Deja essayer de recuperer l'event via javascript (www.javascriptfr.com) ensuite une fois que t'as ca, le plus simple aurait été de faire un postback, mais si la fenetre ferme tu ne pourras pas, tu peux par contre peut etre essayer de charger une page genre quit.aspx?idsession=4520320

ensuite dans quit.aspx tu peux recuperer l'id de la session tu sais que si cette page est appelé c'est que tu peux faire l'action que t'as envie.

Je suis pas sur qu'on puisse faire ca via js, mais c'est à essayer.


Cyril - MCP ASP.net
Webmaster de : Hoshimi.CodeS-SourceS.fr
mardi 12 avril 2005 à 14:06:27 | Re : Evenement unload ?

systemic_anomaly


Je peux maintenant récupérer l'evenement Onunload comme ceci:


mardi 12 avril 2005 à 14:22:21 | Re : Evenement unload ?

systemic_anomaly


heuuuuu j'viens de voir que mon message a perdu des plumes à l'ajout donc je reprends.

Je peux maintenant récupérer l'evenement onunload comme ceci :

" <script event ="onunload"  for ="window"> "

J'aimerais donc si c'est possible pouvoir faire appel à ma fonction du codebehind "UpdateDBFromSkillTree( )".

Si ce n'est pas possible, connais tu une autre astuce ?

Merci pour ton aide.


mardi 12 avril 2005 à 18:44:54 | Re : Evenement unload ?

jesusonline

Membre Club Administrateur CodeS-SourceS
A mon avis faire un truc comme ca bof :-/ en tout cas moi j'aime pas trop.

une fois que t'es la, j'ai pas le temps de te montrer tout le code, mais en gros, dans le page_load tu forces la page a mettre la fonction javascript __dopostback c'est un propriété de l'objet page à mettre à true, je me rappelle plus du nom.

ensuite dans le script

<script event="onunload" for="window">
_doPostBack('','onUnload')
</script>

aprés dans le page_load de la page

if page.ispostback andalso request.forms("__EVENTARGUMENT") is not nothing andalso request.form("__EVENTARGUMENT") = "onUnload")

UpdateDB
end if

C'est pas une facon joli de faire, mais c'est la plus simple

par contre je suis persuadé que tu pourrais refaire autre chose car la c'est vraiment bof, imagine que le client change l'url pour aller sur un autre site, la bd ne sera jamais mis à jour etc.... donc pense à une autre solution, fin de la session par exemple.


Cyril - MCP ASP.net
Webmaster de : Hoshimi.CodeS-SourceS.fr
mercredi 13 avril 2005 à 11:10:52 | Re : Evenement unload ?

systemic_anomaly


Oui moi non plus ça ne me plaisait pas. Donc j'ai repensé le problème et j'ai trouvé une solution plus catholique que l'update en quittant la page.

Merci encore pour ton aide et tes remarques judicieuses.


jeudi 14 avril 2005 à 01:19:43 | Re : Evenement unload ?

jesusonline

Membre Club Administrateur CodeS-SourceS
C'etait de loin la meilleure solution au problèmes


Cyril - MCP ASP.net
Webmaster de : Hoshimi.CodeS-SourceS.fr
lundi 17 décembre 2007 à 17:41:13 | Re : Evenement unload ?

quineman

Oui avec le fichier global.asax
Par contre j'arrive à detecter clairement le Session_Start mais l'évenement Session_End ne se déclenche à mon avis que quand le navigateur est ouvert... Malheureusement, quand on ferme le navigateur, l'événement ne se déclenche pas (d'ailleurs, c'est surment normal, la session se ferme t elle ? La variable de session est encore sur le serveur ?). Donc re question : y'a t il un moyen de détecter la perte de connection entre un navigateur et un serveur avec un événment dot net ?


lundi 17 décembre 2007 à 21:25:30 | Re : Evenement unload ?

jesusonline

Membre Club Administrateur CodeS-SourceS
quineman ==> resneigne toi auprès des bases de http ! c'est complétement impossible.


Cyril - MSP - MCPD ASP.net & MCTS SQL - Consultant indépendant
lundi 17 décembre 2007 à 22:34:15 | Re : Evenement unload ?

quineman

Oui, je sais nous sommes en déconnecté.
Ma problématique étant que si la personne ne termine pas son achat, et donc ne travail pas jusqu'au bout la Session var. Elle garde en mémoire des informations erronées qui peuvent interférés avec de nouvelles informations...
Une solution pourrait peut être de mettre un UpdatePanel Ajax qui fait une requête toutes les 10 sec au server ? un peu lourdaud mais on peut faire un truc dans le genre
   tant que j'ai une requête toute les 10 sec
      je travail avec ma session
   sinon
      je détruis ma variables de session / j'exécute mon code de fin de session
   fin tant

Mais en fait il y a beaucoup plus simple :
Tester dans le masterPage si l'internaute a finaliser son achat en imputant la valeur  true à finAchat et ensuite on test dans le masterPage :


If Not IsNothing(Session("maVar")) And Session("finAchat") = FalseThen

            Session.Clear()
EndIf

 

Cette solution est approprié puisque quand l'internaute ferme son navigateur et reviens, il créer une nouvelle variable.

 



Cette discussion est classée dans : page, evenement, évènement, unload, quitte


Répondre à ce message

Sujets en rapport avec ce message

Dropdown et evenement selection change [ par matlocker ] Bonsoir a tous,Je decouvre en ce moment ASP.net et je voudrais savoir comment il est possible en changeant la selection d'une DropDown, faire appel a capture d'evenement [ par sorcier_sly ] Salut  tout le monde,Je vous ecris car j'ai un probleme pour intercepter un evenement.Donc j'ai une page aspx, qui contient un placeholder. Je charge Probleme evenement sur un control d'un datagrid [ par peps89 ] Bonjour,J'ai créé un Datagrid possédant une colonne avec une dropdowlist et une autre contenant une textbox et j'aimerai préremplir la textbox en fonc Problème evenement / Fermeture navigateur / onbeforeunload [ par Onizukasan ] Bonjour à tous.Tout d'abord je travaille sous VisualStudio2003 / Framework .NET en version 1.Voici mon problème:Je dois pouvoir intercepter la fermetu comment déclencher l'evenement de page [ par thinker1000 ] j'ai une probleme dans mon projet si je choisi une pays dans une dropdownlist la page il demarer par load et voila je peux declencher l'evenement de l Comment annuler un evenement ? [ par Zeroc00l ] Technologie : ASP .NET (C#) 2.0 avec AjaxMa question est en realité simple mais a comprendre pas forcement.Donc je fractionne en petit bout et plusieu Répercuter un event d'une page dans un usercontrol [ par Rredeyes ] Bonjour à tous,J'ai une page qui est contenue dans une master page. cette master page contient des boutons edit-new-delete.Dans la page, je charge dyn evenement usercontrol [ par GILLOUXG ] Bonjour,Je vous expose mon problème:Depuis une page aspx je charge dynamiquement un UserControl qui contient un bouton.Lorsque je clic sur le bouton, GridView RowCommand [ par giov0 ] Bonjour,J'ai une page (WebForm) dans laquelle je contrui dynamiquement un GridViewJ'ai plusieurs TemplateField que je rempli avec des controls ImageBu


Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,515 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales