Encore une bizzarerie de ASP.Net
Dans ma page j'ai un control utilisateur uc_art_defaut.ascx
Celui-ci contient un control utilisateur uc_art_new qui permet de créer des articles et de saisir les informations liées à ce nouvel article (titre, résumé, ...) Il contient également un linkbutton btn_valider_new pour sauvegarder ces info et créer une nouvelle ligne d'article dans la base
Structure :
uc_art_defaut
databind
AddHandler oUc_art_new.ValideCreationContenuArticle, AddressOf Uc_art_new_ValideCreationContenuArticle
uc_art_new
btn_valider_new
btn_valider_new.click
RaiseEvent ValideCreationContenuArticle(sTitreArticle, sLangueNewContenuArticle, sResumeArticle)
Dans le databind du control parent, uc_art_defaut, j'associe l'événement ValideCreationContenuArticle du contrôle uc_art_new à la méthode Uc_art_new_ValideCreationContenuArticle
Pour enregistrer les informations dans la base, au click sur le linkbutton btn_valider_new, je lève l'évènement ValideCreationContenuArticle
Le control parent, donc uc_art_defaut capte alors cet évènement.
La bizzarerie, est qu'avec un linkbutton, l'événement est capté 2 fois (d'où un risque de créer un enregistrement en double dans le cas présent)
Si je remplace le linkbutton par un button classique, l'événement est capté 1 seule fois.
Je ne comprend pas pourquoi ?
Que pourrait-il se passer ?
Quelle est la différence entre le linkbutton et le button ?
Merci