2010-06-01 3 views
1

Je travaille actuellement sur une page qui utilise le MS Ajax UpdatePanel. Cependant, j'ai rencontré un problème étrange. Si je compile et affiche simplement ma page, l'un des événements de clic sur le bouton entraîne une erreur. Cependant, étant donné que le bouton affecte les éléments d'un UpdatePanel, l'exception réelle est masquée: tout ce que j'obtiens est une erreur HTTP 500 qui m'a été renvoyée via le Javascript UpdatePanel.Comment déboguer l'erreur .net où le message est masqué dans l'appel Ajax

Ce qui est étrange à ce sujet est que si je passe par le code ligne par ligne dans Visual Studio, je ne reçois pas l'erreur. Le bouton ne provoque pas le comportement attendu, mais il ne génère aucune erreur. Étant donné que l'accès intermédiaire ne provoque pas le déclenchement d'une erreur, je ne sais pas comment je peux accéder au message d'exception réel afin de savoir où l'erreur est lancée et de la déboguer. Suggestions reçues avec reconnaissance.

Cheers, Matt

+0

sont des erreurs personnalisées permis? Si tel est le cas, la page renvoyée doit afficher la pile d'appel et le message d'exception – Anero

+0

place le code dans un bloc try catch et renvoie la trace de pile du bloc catch. – Amarghosh

+0

@Anero - Pas sûr. Comment activer les erreurs personnalisées? –

Répondre

0

Vous pouvez toujours utiliser firebug pour voir le corps de la réponse http (voir l'onglet réseau). Ou vous pouvez désactiver javascript et votre page travaillerez javascript (ajax) moins ...

firebug Web developer toolbar to disable/enable js easily

+0

Si je désactive le javascript, je ne peux pas cliquer sur le bouton pour déclencher l'appel ajax. Cela me rend fou :( –

+0

et avec firebug? –

0

Activer les erreurs personnalisées dans web.config, qui devrait sortir la trace de la pile et l'information d'exception sur la réponse:

<configuration> 
<system.web> 
    ... 
    <customErrors mode="On" /> 
    ... 
</system.web> 
</configuration> 

Souvenez-vous de désactiver les erreurs lors du déploiement de production pour masquer les détails d'implémentation aux utilisateurs en cas d'erreurs.

+0

Merci pour la suggestion, mais ça ne fait rien, j'ai peur. Toujours obtenir le popup javascript. –

Questions connexes