Forum |  HardWare.fr | News | Articles | PC | Prix | S'identifier | S'inscrire | Aide Recherche
2336 connectés 

  FORUM HardWare.fr
  Programmation
  C#/.NET managed

  ASP.Net : afficher un message javascript sur le OnError

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

ASP.Net : afficher un message javascript sur le OnError

n°2107550
Fred82
Posté le 21-10-2011 à 17:16:03  profilanswer
 

Salut,
 
J'aurais besoin d'aide sur la gestion d'exceptions en ASP.Net.
 
Dans une application ASP.Net, lorsqu'une exception C# est lancée, la méthode C# OnError est appelée. Dans cette méthode, j'aimerais insérer du code Javascript dans la page afin d'afficher pour l'instant une alertbox Javascript.
 
Comment réaliser cela ?
 
Pour l'instant, j'ai testé le code suivant, qui ne réussit pas à afficher l'alertbox.
 
1) Page Default.aspx :
 

Code :
  1. <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="SandBoxWeb._Default" %>
  2.  
  3. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  4. <html xmlns="http://www.w3.org/1999/xhtml">
  5. <head runat="server">
  6.    <title></title>
  7. </head>
  8. <body>
  9.    <form id="form1" runat="server">
  10.    <asp:ScriptManager runat="server" ID="scriptManager1" />
  11.    <div>
  12.        <asp:Button runat="server" ID="button1" Text="Cliquez-moi !" OnClick="button1_OnClick" />
  13.        <p />
  14.    </div>
  15.    </form>
  16. </body>
  17. </html>


 
2) Code-behind Default.aspx.cs :
 

Code :
  1. public partial class _Default : System.Web.UI.Page
  2.    {
  3.        protected void Page_Load(object sender, EventArgs e)
  4.        {
  5.  
  6.        }
  7.  
  8.        protected void button1_OnClick(object sender, EventArgs e)
  9.        {
  10.            throw new Exception("test" );
  11.        }
  12.  
  13.        protected override void OnError(EventArgs e)
  14.        {
  15.            var js_code = "alert('test');";
  16.            ScriptManager.RegisterClientScriptBlock(this, typeof(Page), "Test", js_code, true);
  17.        }
  18.    }

mood
Publicité
Posté le 21-10-2011 à 17:16:03  profilanswer
 

n°2107554
ixemul
Second Reality
Posté le 21-10-2011 à 17:45:26  profilanswer
 

C'est vendredi soir, je suis aussi feignant, mais une chose est sûre, lorsque tu rentre dans un OnError, tu casses le pipeline de rendu de la page, et donc plus rien ne sera transmis dans le HttpWriter (donc pas ton JS) ;)
 
Il faut gérer ça en amont, où, si tu veux vraiment gérer ça dans le OnError, faire un Redirect sur ta page elle même(en prenant soins de sauver l'exception.. je sais pas.. en session par exemple...) et gérer ça dans le page_load.
 

n°2107557
Fred82
Posté le 21-10-2011 à 18:24:06  profilanswer
 

Merci pour ta réponse ;)
 
Faire un Redirect me semble une mauvaise solution, car on perd les saisies utilisateurs et les chargements faits jusqu'à présent.
 
Donc pour gérer les erreurs proprement, le mieux serait de gérer ça en amont en mettant des try/catch un peu partout.
 
C'est dommage, j'aurais aimé centraliser la gestion des erreurs, comme fait en Silverlight/WPF.


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C#/.NET managed

  ASP.Net : afficher un message javascript sur le OnError

 

Sujets relatifs
[C# / .Net] Migration OS 32Bits vers OS 64Bits. Quid des Perfs?(VB.NET) Meilleure façon de gérer une liste de 230.000 lignes ?
menu javascript + slider jquery avec IE7aide javascript / css : phénomène paranormal
[Javascript] Override objet top[Résolu] Net::Ping sur un port forwarding en localhost
Action lors de l'affichage d'un messageJavascript qui test checkbox cochée
Appel d'une fonction javascript ) partir d'un hrefproblème xajax Javascript
Plus de sujets relatifs à : ASP.Net : afficher un message javascript sur le OnError


Hit-Parade
Copyright © 1997-2012 Hardware.fr SARL / Groupe LDLC / LesNumeriques.com / Version anglaise du site: BeHardware