ImageButton + asp.net (vb)

salas_wolf Messages postés 5 Date d'inscription dimanche 19 février 2006 Statut Membre Dernière intervention 22 août 2007 - 17 août 2007 à 16:10
Netlink Messages postés 139 Date d'inscription mercredi 2 avril 2003 Statut Membre Dernière intervention 12 juillet 2011 - 23 août 2007 à 15:01
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

Netlink Messages postés 139 Date d'inscription mercredi 2 avril 2003 Statut Membre Dernière intervention 12 juillet 2011
18 août 2007 à 18:16
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
0
Netlink Messages postés 139 Date d'inscription mercredi 2 avril 2003 Statut Membre Dernière intervention 12 juillet 2011
18 août 2007 à 18:22
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
0
salas_wolf Messages postés 5 Date d'inscription dimanche 19 février 2006 Statut Membre Dernière intervention 22 août 2007
22 août 2007 à 16:13
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
0
Netlink Messages postés 139 Date d'inscription mercredi 2 avril 2003 Statut Membre Dernière intervention 12 juillet 2011
23 août 2007 à 15:01
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
0
Rejoignez-nous