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 :

[C#][2.0] problème de RegisterClientScriptBlock


Sujet :

ASP.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    77
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2006
    Messages : 77
    Par défaut [C#][2.0] problème de RegisterClientScriptBlock
    Bonjour,

    J'ai un problème que je n'arrive pas à résoudre malgré ma recherche sur le net. Voilà, j'ai un formulaire qui affiche les données d'un client, si l'utilisateur clique sur un bouton pour continuer alors qu'il a changé des données du client, je dois affficher un message javascript qui demande si l'utilsateur veut enregistrer les données avant de poursuivre.

    j'utilise donc une focntion :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    public void SendJavaScriptConfirmPopup( string Message)
        {
            Page.ClientScript.RegisterClientScriptBlock(Page.GetType(), "Confirm", "<script>if (confirm("+Message+")){document.formulaire.hide.value='oui';}</script>");
        }
    Mais ça ne fonctionne absolument pas. Aucun message ne s'affiche pq?
    Je reprends le code d'un collègue, je voudrais garder la même logique que lui qui utilise des RegisterClientScriptBlock.

    Pouvez-vous m'aider?
    merci d'avance

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    91
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 91
    Par défaut
    Vérifie que tu n'as pas d'erreur javascript sur ta page.
    Vérifie notemment si ta chaine Message contient bien les simples quotes.

  3. #3
    Membre éprouvé Avatar de raOOn
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    100
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Indre et Loire (Centre)

    Informations forums :
    Inscription : Décembre 2006
    Messages : 100
    Par défaut
    tente ca

    <script>if (confirm('"+Message+"'))...


    cordialement,

    raoon

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    77
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2006
    Messages : 77
    Par défaut
    J'avais essayé mais ca ne passe pas non plus. C'est bizarre parce que ca passe par la fonction mais ca ne lance aucun javascript, pas d'erreur ni quoi que ce soit

  5. #5
    Membre éprouvé

    Inscrit en
    Juin 2005
    Messages
    142
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 142
    Par défaut Essaie ca
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Button1.ClientClick = "return AskConfirm('Sauvegarder ?');";
    Page.ClientScript.RegisterClientScriptBlock(Page.GetType(), "Confirm",
    @"function AskConfirm(msg)
    {
     return confirm(msg);
    }", true);
    Le code fait: Lorque l'utilisateur click sur bouton1, on appelle la fonction javascript AskConfirm. Si l'utilisateur confirme, on aura un postback, sinon il n'y en aura pas.
    Le code fait: Lorque l'utilisateur click sur bouton1, on appelle la fonction javascript AskConfirm. Si l'utilisateur confirme, on aura un postback, sinon il n'y en aura pas.

  6. #6
    Membre expérimenté
    Profil pro
    Inscrit en
    Août 2004
    Messages
    270
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2004
    Messages : 270
    Par défaut
    et avec ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <script language=""javascript"">if (confirm('"+Message+"'))...

  7. #7
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    77
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2006
    Messages : 77
    Par défaut
    Wééé merci beaucoup

    Pour info le truc exacte qui fonctionne c'est :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
        public void SendJavaScriptConfirmPopup( string Message)
        {
            Page.ClientScript.RegisterClientScriptBlock(Page.GetType(), "Confirm", "<script language='javascript'>if (confirm('" + GetStringReadyForJavaScript(Message) + "')){document.formulaire.hide.value='oui';}</script>");
        }
     
    public String GetStringReadyForJavaScript(string sStringToTransform)
        {
            return sStringToTransform.Replace("'", "\\'").Replace('\n', ' ').Replace('\r', ' ');
        }

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 2
    Dernier message: 25/05/2011, 22h00
  2. Problème d'installation oracle 8.1.7 sous NT
    Par Anonymous dans le forum Installation
    Réponses: 7
    Dernier message: 02/08/2002, 14h18
  3. Problème d'impression
    Par IngBen dans le forum C++Builder
    Réponses: 7
    Dernier message: 22/05/2002, 11h37
  4. Problème avec la mémoire virtuelle
    Par Anonymous dans le forum CORBA
    Réponses: 13
    Dernier message: 16/04/2002, 16h10
  5. Réponses: 6
    Dernier message: 25/03/2002, 21h11

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