IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

ASP.NET Discussion :

Intéractions c# javascript telerik


Sujet :

ASP.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2005
    Messages
    288
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 288
    Par défaut Intéractions c# javascript telerik
    Salut tout le monde !

    Je viens vers vous car je suis un peu désemparé...

    Je développe une application web asp.net.
    Dans certaines pages je définie des fonctions javascript, elle-même appelant du telerik. Par exemple la fonction javascript appellera radprompt, ce qui ouvrira une fenêtre avec "ok" et "annuler".

    Je récupère l'évènement lorsque sur "ok", et je fais le traitement associé.

    Je voudrais, après ce traitement, ouvrir une nouvelle fenêtre telerik pour dire au user que tout s'est bien passé (ou pas). Mais cette fenêtre d'info ne s'affiche pas. J'ai l'impression que c'est un problème de contexte de page mais j'avoue être perdu là...

    A noter que si j'appelle le code qui affiche au chargement ça fonctionne.

    Donc si quelqu'un a une idée, je suis preneur...

    Merci par avance.

  2. #2
    Expert confirmé

    Avatar de Philippe Vialatte
    Homme Profil pro
    Architecte technique
    Inscrit en
    Juillet 2004
    Messages
    3 029
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Architecte technique
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Juillet 2004
    Messages : 3 029
    Par défaut
    Salut

    Citation Envoyé par chti_juanito Voir le message
    Je voudrais, après ce traitement, ouvrir une nouvelle fenêtre telerik pour dire au user que tout s'est bien passé (ou pas). Mais cette fenêtre d'info ne s'affiche pas. J'ai l'impression que c'est un problème de contexte de page mais j'avoue être perdu là...
    Quel code utilises-tu pour ouvrir ta seconde popup après le traitement ?

    Mon Blog

    The Cake is still a lie !!!



    Vous voulez contribuer à la rubrique .NET ? Contactez-moi par MP.
    Vous voulez rédiger des articles pour la rubrique .NET ? Voici la procédure à suivre.

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2005
    Messages
    288
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 288
    Par défaut
    Bonjour Philippe et merci pour ton intérêt à mon problème !

    Voici quelques explications supplémentaires et quelques bouts de codes pour mieux comprendre...

    J'ai un premier fichier "fich1.aspx" dans lequel se trouve un imageButton.
    Dans le code behind de ce fichier, je crée le script javascript permettant d'afficher le prompt :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     StringBuilder sb = new StringBuilder();
                sb.Append("<script language= javascript ");
                sb.Append("type=\"text/javascript\">");
                sb.Append("function promptEmail");
                sb.Append(this.ClientID);
                sb.Append("(param){").Append(Environment.NewLine).Append("radprompt('").Append(this.GetLocalResourceObject("popup.PromptEmail.Label").ToString()).Append("', promptEmailCallBack" + this.ClientID + ", 300, 100, param, '").Append(this.GetLocalResourceObject("popup.PromptEmail.Title").ToString()).Append("');}");
                sb.Append("</script>");
                if (!Page.ClientScript.IsClientScriptBlockRegistered("promptEmail" + this.ClientID))
                    Page.ClientScript.RegisterClientScriptBlock(this.GetType(), "promptEmail" + this.ClientID, sb.ToString());
    Ce script doit se lancer lorsque je clique sur l'imageButton :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    ImageButton imgexportXLS = rdmextract.Items[1].Items[1].FindControl("ImageButton_excelEmailAll") as ImageButton;
                if (imgexportXLS != null) imgexportXLS.OnClientClick = "promptEmail" + this.ClientID + "('EXCEL_mail_total'); return false;";
    Vous aurez remarqué que la fonction promptEmail utilise une fonction promptEmailCallBack. Celle-ci teste l'email renseigné par l'utilisateur
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
       sb.Append("if(arg != ''){if(isValidEmail(arg)){window['");
                sb.Append(RadAjaxManager1.ClientID);
                sb.Append("'].AjaxRequest(param + arg);}");
    Sinon affiche un message (radalert).

    Dans un fichier "fich2.aspx", j'utilise fich1.
    Dans le code behind, je traite l'évènement click sur l'imageButton :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    protected override void RaisePostBackEvent(IPostBackEventHandler sourceControl, string eventArgument)
            {
                base.RaisePostBackEvent(sourceControl, eventArgument);
     
                if (sourceControl is Telerik.WebControls.RadAjaxManager)
                {
                        string toMail = eventArgument.Substring(16);
                        maFonction(toMail);
                }
     
            }
    "maFonction" effectue le traitement, et récupère une exception en cas d'erreur. C'est dans le catch de cette exception que je souhaite afficher un message avec radalert:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    ...
    sc.Append("<script language='javascript'> radalert('");
                sc.Append(message);
                sc.Append("', null, null, '");
                sc.Append(Resources.AlphaWeb2.RadalertErrorTitle);
                sc.Append("');</script>");
    ...
    En pas à pas je passe bien dans le catch, mais aucune fenêtre ne s'ouvre.
    En debug javascript, ça ne semble même pas passer dans le script ci-dessus...

    J'espère que c'est plus clair et que vous pourrez m'aider

  4. #4
    Membre Expert
    Avatar de Pongten
    Homme Profil pro
    IT Analyst & Software Developer
    Inscrit en
    Juin 2002
    Messages
    1 173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : IT Analyst & Software Developer
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Juin 2002
    Messages : 1 173
    Par défaut
    Vu qu'il semble que tu passes par une requête AJAX via le RadAjaxManager, je te conseille de regarder du côté de la méthode suivante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    RadAjaxManager1.ResponseScripts.Add("alert('script exécuté après la réponse du serveur...'");

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2005
    Messages
    288
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 288
    Par défaut
    Merci Pongten pour l'info.

    J'ai ajouté ceque tu dis et en effet ça affiche bien.

    Par contre maintenant je dois trouver comment savoir si le traitement s'est bien passé... sachant que le traitement se fait dans un autre fichier aspx, donc pas accès à RadAjaxManager :s

    Je découvre Ajax là donc si vous pouvez m'éclairer

    Merkiii

Discussions similaires

  1. Intéraction en SQL et JavaScript
    Par steph_p dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 11/06/2009, 12h22
  2. JavaScript<---->ActionScript
    Par crazypiou dans le forum Flash
    Réponses: 21
    Dernier message: 17/04/2009, 17h14
  3. Intéraction Javascript - Flash
    Par jak0 dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 17/12/2007, 15h16
  4. appel xmlservice via fonction javascript
    Par pram dans le forum XMLRAD
    Réponses: 2
    Dernier message: 06/05/2003, 14h24
  5. JavaScript de vérification de formulaire
    Par [DreaMs] dans le forum XMLRAD
    Réponses: 6
    Dernier message: 26/02/2003, 13h48

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo