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 :

Executer une fonction js dans le code-behind


Sujet :

ASP.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Développeur informatique
    Inscrit en
    Avril 2009
    Messages
    115
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2009
    Messages : 115
    Par défaut Executer une fonction js dans le code-behind
    Bonjour,

    J'ai une fonction js toute simple qui permet de cacher une ligne d'un tableau html :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    <script language="javascript" type="text/javascript">
        function afficher()
        {
            var tr = document.getElementById('regroup');
            tr.style.display = "";
        }
     
        function cacher ()
        {
            var tr = document.getElementById('regroup');
            tr.style.display = "none";
        }
    </script>
    J'ai donc plus bas une ligne portant l'id "regroup"
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    ...
    <tr id="regroup">
    ...
    Ce que je souhaite faire c'est en fonction de ce qu'il y a dans un de mes label, cacher ou afficher la ligne d'id "regroup".
    Pour cela lors du load de la page dans mon code-behind j'ai essayé d'appeler une de mes fonction js ci-dessus de cette manière :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
            ClientScriptManager cs = Page.ClientScript;
            if (Label_TypeFacturation.Text == "Catégories")
            {
                label_Status.Text = "dans le if";
                cs.RegisterStartupScript(this.GetType(), "aff", "afficher", true);
            }
            else
            {
                label_Status.Text = "dans le else";
                cs.RegisterStartupScript(this.GetType(), "cach", "cacher", true);
            }
    Ca passe correctement dans le if ou le else le problème c'est qu'apparemment ça n'exécute pas mes fonction js...

    Avez vous une idée sur où je me plante ?

  2. #2
    Rédacteur
    Avatar de lutecefalco
    Profil pro
    zadzdzddzdzd
    Inscrit en
    Juillet 2005
    Messages
    5 052
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : zadzdzddzdzd

    Informations forums :
    Inscription : Juillet 2005
    Messages : 5 052
    Par défaut
    Regarde le code HTML généré pour voir ce qui ne va pas

  3. #3
    Membre éclairé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2007
    Messages
    236
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Février 2007
    Messages : 236
    Par défaut
    bonjour,

    Je pense qu'il y a une erreur au niveau de votre code C#. Vous appelez bien la fonction javascript "afficher", moi je vois que vous appelez "affiche".

  4. #4
    Membre confirmé
    Profil pro
    Développeur informatique
    Inscrit en
    Avril 2009
    Messages
    115
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2009
    Messages : 115
    Par défaut
    Citation Envoyé par mimosa803 Voir le message
    bonjour,

    Je pense qu'il y a une erreur au niveau de votre code C#. Vous appelez bien la fonction javascript "afficher", moi je vois que vous appelez "affiche".
    C'est une erreur de copier/coller (c'est corrigé).

    Je viens d'analyser le code HTML et je ne vois vraiment rien de particulier.

  5. #5
    Rédacteur
    Avatar de lutecefalco
    Profil pro
    zadzdzddzdzd
    Inscrit en
    Juillet 2005
    Messages
    5 052
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : zadzdzddzdzd

    Informations forums :
    Inscription : Juillet 2005
    Messages : 5 052
    Par défaut
    tu vois bien l'appel à ta fonction js?

  6. #6
    Membre confirmé
    Profil pro
    Développeur informatique
    Inscrit en
    Avril 2009
    Messages
    115
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2009
    Messages : 115
    Par défaut
    Vers la fin de la page entre des balises javascript j'ai précisément :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    //<![CDATA[
    cacher//]]>
    Edit :

    J'ai trouvé, pour que ça fonctionne il m'a suffit d'ajouter les parenthèses de mes fonctions js à appelées.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
            ClientScriptManager cs = Page.ClientScript;
            if (Label_TypeFacturation.Text == "Catégories")
            {
                label_Status.Text = "dans le if";
                cs.RegisterStartupScript(this.GetType(), "aff", "afficher()", true);
            }
            else
            {
                label_Status.Text = "dans le else";
                cs.RegisterStartupScript(this.GetType(), "cach", "cacher()", true);
            }
    J'avais déjà exécuter des fonctions js dans le code-behind il y a quelques temps et il me semble que j'avais pas eu besoin de mettre les parenthèses, c'est louche.

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

Discussions similaires

  1. [.net]Appeler une fonction située dans le code behind
    Par anto dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 20/05/2009, 13h05
  2. Réponses: 27
    Dernier message: 23/04/2008, 18h11
  3. Réponses: 4
    Dernier message: 30/05/2007, 18h05
  4. appeler une fonction javascript dans le code html
    Par kawther dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 16/05/2007, 16h40
  5. Réponses: 6
    Dernier message: 09/01/2007, 14h12

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