UpdatePanel / Alertes javascript [Résolu]

ludo g 8 Messages postés mercredi 11 avril 2007Date d'inscription 27 avril 2007 Dernière intervention - 11 avril 2007 à 17:02 - Dernière réponse : ludo g 8 Messages postés mercredi 11 avril 2007Date d'inscription 27 avril 2007 Dernière intervention
- 12 avril 2007 à 13:20
Bonjour,

Je cherche un moyen pour afficher une alerte javascript à partir du code behind, plus précisément à partir du code d'un bouton se situant dans un updatepanel.

Donc j'ai une page contenant un UpdatePanel, celui-ci contient un simple bouton. Dans l'event du bouton, j'effectue un appel sql (par exemple) et ensuite je voudrais renvoyer au client une alerte javascript contenant la réponse.

Jusqu'à présent, j'envoi une exception avec comme message d'erreur le message que je veux afficher. Celà me renvoit une alerte javascript contenant mon message mais cette technique ne me semble pas très "catholique" :p

ex:

protected
void Button1_Click(
object sender,
EventArgs e)
{

      // le code d'accès sql

      if (succeeded)
            
throw
new
Exception(
"uééé ça a marché !");

      else
            throw
new
Exception(
"mouaaarrff !");
}

est-ce que quelqu'un aurait une idée ?

merci d'avance.
Afficher la suite 

Votre réponse

7 réponses

Meilleure réponse
jesusonline 6827 Messages postés dimanche 15 décembre 2002Date d'inscription 13 octobre 2010 Dernière intervention - 11 avril 2007 à 17:20
3
Merci
bonjour,

ScriptManager.RegisterStartupScript(typeof(lapage), "alert", "alert('coucou');", true);

<hr />Cyril - MSP - MCTS ASP.net & SQL

Merci jesusonline 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 68 internautes ce mois-ci

Commenter la réponse de jesusonline
ludo g 8 Messages postés mercredi 11 avril 2007Date d'inscription 27 avril 2007 Dernière intervention - 12 avril 2007 à 09:26
0
Merci
Bonjour Cyril,

Je viens de tester ton code qui ne fonctionnait pas seul. J'ai du y ajouter updatePanel.Update(); pour qu'il lance réellement le script. Je n'ai pas utilisé de triggers, le "problème" viendrait-il de là ?

Merci pour ta réponse.
Commenter la réponse de ludo g
ludo g 8 Messages postés mercredi 11 avril 2007Date d'inscription 27 avril 2007 Dernière intervention - 12 avril 2007 à 09:39
0
Merci
Ok, je viens de tester avec triggers et ça fonctionne sans faire un update manuellement.

Encore merci !

Le code :

public
void RegisterAsyncScript(
Control control,
string key,
string script)
{
      
ScriptManager.RegisterStartupScript(control, control.GetType(), key, script,
true);
}

public
void ShowAsyncMessageBox(
Control control,
string key,
string message)
{
      RegisterAsyncScript(control, key,
"alert('" + message.Replace(
"'",
"\\'") +
"');");
}
Commenter la réponse de ludo g
jesusonline 6827 Messages postés dimanche 15 décembre 2002Date d'inscription 13 octobre 2010 Dernière intervention - 12 avril 2007 à 09:41
0
Merci
Bonjour, effectivement il faut absolument qu'un updatepanel soit actif pour utiliser ca, mais si tu mets ton bouton directement dans l'updatepanel tu n'as pas besoin de trigger donc pas besoin d'appeller la méthode Update()

<hr />Cyril - MSP - MCTS ASP.net & SQL
Commenter la réponse de jesusonline
ludo g 8 Messages postés mercredi 11 avril 2007Date d'inscription 27 avril 2007 Dernière intervention - 12 avril 2007 à 12:21
0
Merci
L'updatepanel était bien actif et le bouton était directement dans celui-ci.

<asp:UpdatePanel
ID="upLogin"
runat="server"
ChildrenAsTriggers="false"
UpdateMode="Conditional">
      <ContentTemplate>
            <asp:Button
ID="Button1"
runat="server"
Text="Button"
OnClick="Button1_Click"
/>
      </ContentTemplate>
</asp:UpdatePanel>

Dans le code du bouton, il y avait donc le code et... rien apparaissait. Je devais faire appel à la méthode Update() pour que l'alerte soit affichée ou ajouter un trigger.
Commenter la réponse de ludo g
jesusonline 6827 Messages postés dimanche 15 décembre 2002Date d'inscription 13 octobre 2010 Dernière intervention - 12 avril 2007 à 12:49
0
Merci
Pourquoi utilises tu le ChildAsTriggers=false ??? en le mettant à false tu dis que les enfants ne déclenchent pas de triggers ... en le mettant à true (valeur par défaut) tu n'auras rien à faire.

<hr />Cyril - MSP - MCTS ASP.net & SQL
Commenter la réponse de jesusonline
ludo g 8 Messages postés mercredi 11 avril 2007Date d'inscription 27 avril 2007 Dernière intervention - 12 avril 2007 à 13:20
0
Merci
Ah ok, je n'avais pas compris ça en lisant la doc. Je vais modif directement, merci !
Commenter la réponse de ludo g

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.