ImageButton + asp.net (vb)

Signaler
Messages postés
5
Date d'inscription
dimanche 19 février 2006
Statut
Membre
Dernière intervention
22 août 2007
-
Netlink
Messages postés
139
Date d'inscription
mercredi 2 avril 2003
Statut
Membre
Dernière intervention
12 juillet 2011
-
Bonjours a tous

J'ai parcouru les forums et je n'ai pas trouvé une reponse a mon problème.
J'ai un problème au niveau des évènements.
Je crée dynamiquement plusieurs images butons  comme suit :
                Dim Img As ImageButton
                Img = New ImageButton
                Img.ImageUrl = "~/images/bt_sup.jpg"
                Img.ID = "IButton_transac"
Ils possèdent tous des id different mais l'evènement rataché au bouton est le meme
Le problème survient lorsque je veut rattacher un evènement a mon image.
J'ai essayé  de faire :
       Img.Attributes.Add("onClick", "ImageButton_Click") --------------- sa ne marche pa
La fonction qui doit s'executée se trouve dans le code ma page (ex :  default.aspx.vb) et est definit comme suit :
       Sub ImageButton_Click(ByVal sender As Object, ByVal e As ImageClickEventArgs)

J'aimerais savoir si je me trompe pas au niveau de la syntaxe de ma fonctions et comment on ajoute un evenement au imagebutton

Merci
Je tiens a vous signaler que je suis debutant en asp.net

4 réponses

Messages postés
139
Date d'inscription
mercredi 2 avril 2003
Statut
Membre
Dernière intervention
12 juillet 2011

Salut salas_wolf,

Essaye ceci :

Sub ImageButton_Click(ByVal sender As Object, ByVal e As ImageClickEventArgs) Handles IButton_transac.Click
 ' ton code ici
End Sub




@ bientôt, Matt
Messages postés
139
Date d'inscription
mercredi 2 avril 2003
Statut
Membre
Dernière intervention
12 juillet 2011

J'ai oublié une partie du message...

Tu dis : "Img.Attributes.Add("onClick", "ImageButton_Click") --------------- sa ne marche pa"

C'est normal que ça ne marche pas puisque tu rajoutes l'évènement onClick mais chez le client, donc il n'est pas possible d'appeler une fonction sur le serveur. Pour que ça fonctionne il aurait fallu mettre du JavaScript à la place de "ImageButton_Click". Ca donnerait un truc du style Img.Attribues.Add("onClick", "alert('Mon message');").
D'ailleurs pour faire ça, il suffit d'utiliser Img.OnClientClick = "alert('Mon message');" ;)

Mais dans ton cas, la meilleure solution reste de mettre Handles IButton_transac.Click.




@ bientôt, Matt
Messages postés
5
Date d'inscription
dimanche 19 février 2006
Statut
Membre
Dernière intervention
22 août 2007

Slt,

Je te remercie pour tes conseils mais vu que
je cree dynamiquement plusieurs Imagebutton je dois rajouter au Handles mes button ou non?
 ex :

Sub ImageButton_Click(ByVal sender As Object, ByVal e As ImageClickEventArgs) Handles IButton_transac.Click, IButton_type.Click, IButton_loc.Click
 ' ton code ici
End Sub

Aussi si je voulait savoir si je ne rajoute aucun évènement aux buttons, le programme éxécutera t-il la bonne fonction??????

Merci
@++

SW
Messages postés
139
Date d'inscription
mercredi 2 avril 2003
Statut
Membre
Dernière intervention
12 juillet 2011

Salut,

Oui tu peux mettre plusieurs boutons dans le "Handles".

Pour ta deuxième question, je ne suis pas sûr de bien comprendre. Si tu mets ton bouton dans le "Handles", la méthode correspondante sera de toute façon attachée à ton bouton.

Sinon, tu peux mettre dans le tag de ton bouton OnClick="ImageButton_Click". Mais dans ce cas, il faudra supprimer le nom du bouton dans le "Handles", sinon ta méthode ImageButton_Click sera exécutée deux fois !




@ bientôt, Matt