Application_Error et MasterPage

Signaler
Messages postés
142
Date d'inscription
jeudi 10 février 2005
Statut
Membre
Dernière intervention
2 octobre 2008
-
Messages postés
6814
Date d'inscription
dimanche 15 décembre 2002
Statut
Modérateur
Dernière intervention
13 octobre 2010
-
Bonjour !
je sollicite votre aide car je me pose un probleme:
A partir de Application_Error du global.asax, je voudrais manipuler un label se trouvant sur la master page pour pouvoir afficher l'erreur à l'utilisateur... Or, je n'arrive pas à avoir l'objet Master. Savez-vous s'il est tout de même possible de l'avoir ?

7 réponses

Messages postés
6814
Date d'inscription
dimanche 15 décembre 2002
Statut
Modérateur
Dernière intervention
13 octobre 2010
28
Bonjour,

non c'est impossible le global.asax est propre à l'application pas à l'utilisateur ...

pour afficher l'erreur il suffit simplement de t'abonnner à l'evenement Error de l'objet page dans ta master ... :)


<HR>
Cyril - MVS - MCP ASP
Messages postés
142
Date d'inscription
jeudi 10 février 2005
Statut
Membre
Dernière intervention
2 octobre 2008
5
Merci pour ta réponse !...mais ca ne marche pas :(
Dans le page_Load de la Master, j'ai écrit ce code afin de m'abonner aux erreurs, comme tu m'as conseillé:
this. Error +=
new
EventHandler(ManageError);

Mais lorsqu'une erreur de type "Exception unhandled" est effectivement levée, je ne rentre pas dans la fonction ManageError()... saurais-tu pourquoi ?
Messages postés
6814
Date d'inscription
dimanche 15 décembre 2002
Statut
Modérateur
Dernière intervention
13 octobre 2010
28
C'est possible que l'exception soit propre à l'application ou alors avant le page_load

sinon tu peux faire dans le application_error un response.redirect("pageError.aspx") :)


<HR>
Cyril - MVS - MCP ASP
Messages postés
142
Date d'inscription
jeudi 10 février 2005
Statut
Membre
Dernière intervention
2 octobre 2008
5
Oui mais dans ce cas je perd l'état courant du site...
J'ai réussi à faire autrement : en faisant un try catch "à la main" à chaque appel de méthodes critiques....:p

Merci pour ton aide !
Messages postés
6814
Date d'inscription
dimanche 15 décembre 2002
Statut
Modérateur
Dernière intervention
13 octobre 2010
28
comment ca tu perds l'erreur ?

tu peux recuperer la derniere erreur en faisant un server.getLastError donc dans le application_onerror tu fais un

session("eror") = server.getLastErro();
server.transfert("erreur.aspx");

puios dans error.aspx tu recup la variable session, tu castes etc... t'auras tout ce que tu veux :)


<HR>
Cyril - MVS - MCP ASP
Messages postés
142
Date d'inscription
jeudi 10 février 2005
Statut
Membre
Dernière intervention
2 octobre 2008
5
Non non en fait je voulais dire que dans ce cas je dois changer de page.... Alors que moi je veux rester sur la même page que celle affichée par l'utilisateur, et n'afficher qu'un message, dans un label de la master, lorsque l'erreur se lève...
Messages postés
6814
Date d'inscription
dimanche 15 décembre 2002
Statut
Modérateur
Dernière intervention
13 octobre 2010
28
oui mais si onError n'est pas levé c'est que le problème ne vient pas de la page mais au niveau de l'application !

Pour faire ce que tu veux il suffit de s'abonner dans le constructeur à l'event error


<HR>
Cyril - MVS - MCP ASP