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 :

fonction dans le onclick d'un bouton


Sujet :

ASP.NET

  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    311
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : Canada

    Informations forums :
    Inscription : Mai 2005
    Messages : 311
    Par défaut fonction dans le onclick d'un bouton
    salut tout le monde

    je voudrais appeler une fonction que j'ai mise dans le code behind, alors j'ai mis le code suivant dans le onclick de mon bouton

    voilà ma fonction dans le code behind

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     Public Sub affiche(ByVal sender As Object, ByVal e As EventArgs)
            Response.Write("le bouton a été cliqué")
        End Sub

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
     
    <html>
    <head id="Head2" runat="server" >
       <title>Code-Behind Page Model</title>
    </head>
    <body >
      <form id="form2" runat="server">
        <div>
           <asp:Label id="Label2" 
             runat="server" Text="Label" >
          </asp:Label>
          <br />
          <asp:Button id="Button2" 
             runat="server"          
             Text="Button" onclientclick="affiche()">
           </asp:Button>
        </div>
      </form>
    </body>
    </html>
    je vous assure que j'ai fais pas mal de recherche et je n'ai pas pu comprendre mon erreur puisque je suis encore débutante
    Merci de m'aider!

  2. #2
    Membre Expert
    Avatar de Nicolas Esprit
    Homme Profil pro
    Consultant en technologies
    Inscrit en
    Février 2010
    Messages
    1 467
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Consultant en technologies
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2010
    Messages : 1 467
    Par défaut
    Bonjour,

    Il faut différencier OnClick et OnClientClick. Le premier évènement va te permettre de lancer une méthode dans ton code-behind (donc VB.NET dans ton cas). Le second répond à l'évènement client et donc te permer d'éxecuter une méthode javascript.

    Si tu souhaites utiliser une méthode server (code-behind), il te faut donc utiliser OnClick, et ne pas ajouter les parenthèses.

    Au passage je t'invite à consulter cettes introduction à ASP.NET ou de voir le coach ASP.NET sur MSDN.

    En espérant t'avoir aidé.

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    311
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : Canada

    Informations forums :
    Inscription : Mai 2005
    Messages : 311
    Par défaut
    Merci de ta réponse, j'ai faite onclick="clic" , mais ça m'affiche l'erreur suivante
    Message d'erreur du compilateur: BC30456: 'clic' n'est pas un membre de 'ASP.searchfrm_aspx'.

    pourtant j'ai ma fonction clic dans mon code behind, je sais pas pk il la trouve pas.

    Merci

  4. #4
    Membre Expert
    Avatar de Nicolas Esprit
    Homme Profil pro
    Consultant en technologies
    Inscrit en
    Février 2010
    Messages
    1 467
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Consultant en technologies
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2010
    Messages : 1 467
    Par défaut
    C'est que ta méthode ne doit pas être bien définie.

    As-tu bien quelque chose comme ceci ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Public Sub clic(ByVal sender As Object, ByVal e As EventArgs)
    Sinon, vu que tu débutes, peux-être que ce serait plus simple pour se former d'utiliser le designer dans un premier temps. En vue designer (clic-droit sur ta page => vue designer), tu selectionne ton bouton, puis dans les propriétés (clic-droit => propriétés, ou simplement F4), tu regardes l'onglet évènement. Le designer te génèreras alors automatiquement les méthodes pour les évènement que tu souhaites.

    En espérant t'avoir aidé.

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    311
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : Canada

    Informations forums :
    Inscription : Mai 2005
    Messages : 311
    Par défaut
    Merci beaucoup pour ton aide,
    j'ai résolue mon problème.

  6. #6
    Membre averti
    Inscrit en
    Septembre 2010
    Messages
    34
    Détails du profil
    Informations forums :
    Inscription : Septembre 2010
    Messages : 34
    Par défaut
    Juste pour information,
    Le problème est simple.
    la fonction affiche() est placée sur le code behind (serveur), donc pour l'appeler il faut l'appeler on évènement onclick et non pas onclientclick.
    oncleintclick permet de placer des codes clients (javascript).

    Bon courage
    Jamal MELLAL
    www.ejob.ma

  7. #7
    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
    Citation Envoyé par Jamal MELLAL Voir le message
    Juste pour information,
    Le problème est simple.
    la fonction affiche() est placée sur le code behind (serveur), donc pour l'appeler il faut l'appeler on évènement onclick et non pas onclientclick.
    oncleintclick permet de placer des codes clients (javascript).

    Bon courage
    Jamal MELLAL
    www.ejob.ma
    Pourquoi tu répètes ce qui a déjà été dit?

  8. #8
    Membre averti
    Inscrit en
    Septembre 2010
    Messages
    34
    Détails du profil
    Informations forums :
    Inscription : Septembre 2010
    Messages : 34
    Par défaut
    Je pense que ca n'a pas été dis !
    difference entre onclick et onclientclick

  9. #9
    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
    Citation Envoyé par Nicolas Esprit Voir le message
    Il faut différencier OnClick et OnClientClick. Le premier évènement va te permettre de lancer une méthode dans ton code-behind (donc VB.NET dans ton cas). Le second répond à l'évènement client et donc te permer d'éxecuter une méthode javascript.

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

Discussions similaires

  1. Lancer une fonction dans un onclick d'un Href
    Par Mut dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 31/10/2007, 13h58
  2. [AJAX] 2 fonctions dans un onclick
    Par furth dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 19/07/2007, 18h01
  3. [PHP-JS] Fonction dans un onClick
    Par Sarrus dans le forum Langage
    Réponses: 3
    Dernier message: 23/01/2007, 12h00
  4. Réponses: 6
    Dernier message: 16/11/2005, 20h43
  5. Enchainer des fonctions dans un onclick d'un bouton
    Par jpg dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 26/10/2004, 16h51

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