UpdatePanel / Alertes javascript

Résolu
ludo g Messages postés 8 Date d'inscription mercredi 11 avril 2007 Statut Membre Dernière intervention 27 avril 2007 - 11 avril 2007 à 17:02
ludo g Messages postés 8 Date d'inscription mercredi 11 avril 2007 Statut Membre Dernière intervention 27 avril 2007 - 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.

7 réponses

jesusonline Messages postés 6814 Date d'inscription dimanche 15 décembre 2002 Statut Membre Dernière intervention 13 octobre 2010 29
11 avril 2007 à 17:20
bonjour,

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

<hr />Cyril - MSP - MCTS ASP.net & SQL
3
ludo g Messages postés 8 Date d'inscription mercredi 11 avril 2007 Statut Membre Dernière intervention 27 avril 2007
12 avril 2007 à 09:26
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.
0
ludo g Messages postés 8 Date d'inscription mercredi 11 avril 2007 Statut Membre Dernière intervention 27 avril 2007
12 avril 2007 à 09:39
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(
"'",
"\\'") +
"');");
}
0
jesusonline Messages postés 6814 Date d'inscription dimanche 15 décembre 2002 Statut Membre Dernière intervention 13 octobre 2010 29
12 avril 2007 à 09:41
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
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
ludo g Messages postés 8 Date d'inscription mercredi 11 avril 2007 Statut Membre Dernière intervention 27 avril 2007
12 avril 2007 à 12:21
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.
0
jesusonline Messages postés 6814 Date d'inscription dimanche 15 décembre 2002 Statut Membre Dernière intervention 13 octobre 2010 29
12 avril 2007 à 12:49
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
0
ludo g Messages postés 8 Date d'inscription mercredi 11 avril 2007 Statut Membre Dernière intervention 27 avril 2007
12 avril 2007 à 13:20
Ah ok, je n'avais pas compris ça en lisant la doc. Je vais modif directement, merci !
0
Rejoignez-nous