Bonjour,
Situation, en 3 points :
1/ un site Web développé en ASP.Net (version 3.5 du Framework)
2/ un web.config tel qu’en cas d’erreur une page « Erreur.aspx » est appelée ; cette page affichant un message « sympathique » signalant l’erreur
3/ des appels AJAX (via JQuery) à des pages ; ces pages (via Response.Write()) retournant du javascript ou du HTML
Question :
Avec une telle architecture, comment gérer les situations d’erreur ??
Pour fixer les choses, imaginons un <div> dont le contenu est alimenté via ajax et un appel à une page web retournant du HTML : quelque chose, coté javascript, avec JQuery, comme :
Sachant que dans le web.config on trouve une redirection en cas d’erreur, donc quelque chose comme :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 $.ajax({ type: "GET", url: 'ajax/PageQuiRetourneDuHTML.aspx', contentType: "application/x-www-form-urlencoded", dataType: "text", data: 'numero_cde=123456', success: function(result) { $("#div_cible").html( result ); } });
<customErrors defaultRedirect="./Erreur.aspx" mode="On">
</customErrors>
De façon tout à fait prévisible, en cas d’erreur suite à l’appel de ‘PageQuiRetourneDuHTML.aspx', c’est le contenu de « Erreur.aspx » qui sera injecté dans le « div_cible », ce qui n’est pas du tout satisfaisant…
Aussi, je me tourne vers vous : comment gérez-vous semblable situation ??
Appeler une simple page via AJAX n’est certes pas la seule méthode possible, elle fût choisie pour sa simplicité de mise en œuvre, cela dit changer est possible, surtout avec un bout de code d’exemple cote client (Javascript) et coté serveur (.net), donc n’hésitez pas à proposer une solution utilisant une architecture légèrement différente (WebMethod ? etc ?).
D’avance, un grand MERCI !
Partager