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 :

le click de mon bouton ne fonctionne pas


Sujet :

ASP.NET

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    162
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 162
    Par défaut le click de mon bouton ne fonctionne pas
    Bonjour a tous,

    j'ai crée des boutons dynamiquements, et ajouter des evenements a ceux ci, ais lorsque que je clique dessus il n'entre pas dans ma procedure .click....

  2. #2
    Membre émérite Avatar de obito
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2008
    Messages
    773
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Janvier 2008
    Messages : 773
    Par défaut
    Bonjour ! C'est embêtant

    On peut avoir le code qui crée les boutons et qui ajoute l'évènement du click?

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    162
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 162
    Par défaut
    j'ai d'abord ca

    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
    Do While j <= 28
                        Dim but As New Button
                        but.Width = 100
                        If InStr(Dispo.ToString.Substring(i, 6), "1") Then
                            Table1.Rows(j).Cells(1).Controls.Add(but)
                            but.BackColor = Drawing.Color.Orange
     
                        ElseIf InStr(Dispo.ToString.Substring(i, 6), "0") Then
                            Table1.Rows(j).Cells(1).Controls.Add(but)
                            but.BackColor = Drawing.Color.Green
     
                        Else
                            Table1.Rows(j).Cells(1).Controls.Add(but)
                            but.BackColor = Drawing.Color.Red
     
                        End If
                        i = i + 5
                        j = j + 1
     
                    Loop
    puis je les redeclare dans ma page-prerender

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    For Each r As TableRow In Table1.Rows
                    Dim but As New Button
                    but.Width = 100
                    r.Cells(1).Controls.Add(but)
                    AddHandler but.Click, AddressOf but_Click
                Next
    merci de m'aider, je suis un peu paumé la, d'habitude il fonctionne vbien, j'en ai deja fait mais la impossible de savoir pourquoi...

  4. #4
    Membre émérite Avatar de obito
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2008
    Messages
    773
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Janvier 2008
    Messages : 773
    Par défaut
    Heu ouais bizarre... Ta procédure de clique se présente bien de cette forme la? :
    Code vb : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    Private Sub but_Click (sender As Object, evArgs As EventArgs)
     
    End Sub

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    162
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 162
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Protected Sub butclick(ByVal sender As Object, ByVal e As System.EventArgs)
     
     
     
        End Sub
    j'ai tout renommer au cas ou il n'aime pas "but_click" mais rien 'a changer, j'ai rajouter des haddhandler dans ma 1ere création de partout mais rien n'y fait

  6. #6
    Membre émérite Avatar de obito
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2008
    Messages
    773
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Janvier 2008
    Messages : 773
    Par défaut
    C'est des boutons html crée? Je n'ai pas fais d'ASP .Net mais du VB .Net .

    En VB .Net je pense que cela aurait du marcher... Mais si tu fais des boutons html je ne pense pas que ce soit exactement la même syntaxe.

  7. #7
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    162
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 162
    Par défaut
    non pas html
    ce sont des boutons crée et ajouter dynamiquement dans une table, j'ai 7 Table, avec 28 lignes, donc 28 boutons...
    est ce que ca pourrait venir de l'id que je n'initialise pas ?

  8. #8
    Membre expérimenté Avatar de AJemni
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mai 2008
    Messages
    242
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mai 2008
    Messages : 242
    Par défaut
    Une idée : je croi, si j'ai bien compris ton code, que tu charge les buttons avant d'associer à chacune d'elle le gestionnaire d'evennement(AddHandler) puisque tu fai d'abord
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Table1.Rows(j).Cells(1).Controls.Add(but)
    donc tu charge le controle puis tu ajoute le gestionnaire d'evennemnt ce qui n'a aucun effet... essay de faire le contraire : ajoute le gestionnaire d'evennement à la button avant de l'inserer dans une cellule.

  9. #9
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    162
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 162
    Par défaut
    j'ai changer , ca ne marche toujours pas mais le code est plus clair...peut etre que ca vous aider a m'aider a essayer de comprendre pkoi ca ne marche pas
    ce code est dans le pre render de ma page...

    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
                Do While j <= 28
                    Dim but1 As Button = New Button
                    but1.Width = 100
                    but1.ID = String.Format("but1{0}", j)
                    AddHandler but1.Click, AddressOf butclick
                    If InStr(Dispo.ToString.Substring(i, 6), "1") Then
                        Table1.Rows(j).Cells(1).Controls.Add(but1)
                        but1.BackColor = Drawing.Color.Orange
                    ElseIf InStr(Dispo.ToString.Substring(i, 6), "0") Then
                        Table1.Rows(j).Cells(1).Controls.Add(but1)
                        but1.BackColor = Drawing.Color.Green
                    Else
                        Table1.Rows(j).Cells(1).Controls.Add(but1)
                        but1.BackColor = Drawing.Color.Red
                    End If
                    i = i + 5
                    j = j + 1
     
                Loop

    sachant que je crée 6 autres autres tables comme celle ci

  10. #10
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    162
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 162
    Par défaut
    c'est bon j'ai trouver, c'est parce que je créais mes boutons dans le pre render, et donc ne gereais pas mes evenements

  11. #11
    Membre émérite

    Profil pro
    Inscrit en
    Février 2004
    Messages
    862
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : Suisse

    Informations forums :
    Inscription : Février 2004
    Messages : 862
    Par défaut
    Le problème vient du fait que "PreRender" c'est beaucoup trop tard pour placer les abonnements aux événements.

    Lors du PostBack, les méthodes RaiseChangedEvents et RaisePostBackEvent sont appelées avant le PreRender, donc ta page ne sait pas encore qu'il y a des abonnements...

    Bref, place ta procédure de création de contrôles plus tôt; idéalement dans PreInit, au plus tard dans OnLoad.

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

Discussions similaires

  1. mon bouton ne fonctionne pas (icefaces)
    Par bergazi dans le forum JSF
    Réponses: 2
    Dernier message: 24/04/2010, 11h38
  2. Le bouton submit de mon formulaire ne fonctionne pas avec Firefox
    Par vladoche dans le forum Balisage (X)HTML et validation W3C
    Réponses: 4
    Dernier message: 23/10/2009, 22h39
  3. Mon beau bouton ne fonctionne pas
    Par Dounne dans le forum Flash
    Réponses: 5
    Dernier message: 06/09/2006, 13h19
  4. [VBA-E] Undo après action bouton ne fonctionne pas
    Par TicTacToe dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 26/04/2006, 12h53
  5. mon trigger ne fonctionne pas !
    Par japi33 dans le forum SQL Procédural
    Réponses: 2
    Dernier message: 20/03/2006, 21h26

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