2009-02-10 7 views
2

Ceci est une sorte de suite à ma question ici:événement ImageButton pas de tir à l'intérieur de mise à jour panneau

Asp:Label is not shown when visible is set to true?

Dans la question ci-dessus, j'ai eu quelques contrôles où la visibilité était pas réglé sur false car ils n'étaient pas dans un UpdatePanel. Une fois que j'ai mis les contrôles à l'intérieur d'un UpdatePanel, le basculement de la visibilité a fonctionné, mais cela m'a causé un autre problème. J'ai un ImageButton qui exporte vers Excel. Lorsque le bouton n'était pas dans un UpdatePanel, l'événement click a été déclenché, mais maintenant que je l'ai placé dans un UpdatePanel, l'événement click ne se déclenche pas. J'ai également une liste déroulante qui fonctionne très bien. Je pense qu'il a quelque chose à voir avec le fait que le ImageButton n'a pas une propriété AutoPostBack.

Répondre

1

Assurez-vous que vous avez associé le bouton Image à un PostBackTrigger sur le UpdatePanel. Si vous exportez vers Excel en utilisant quelque chose de similaire à Matt Berseth's method, vous devez avoir ce déclencheur pour que l'exportation fonctionne.

<asp:PostBackTrigger ControlID="ImageButton1"/> 
0

Non, les boutons ImageButtons n'ont pas AutoPostBack: ils n'en ont pas besoin plus que les boutons ordinaires.

Ce comportement semble assez étrange. Je dirais que la première chose à faire serait de changer l'asp: ImageButton en un asp: Button et de voir si cela change le comportement. Sinon, le fait que ce soit un ImageButton est un hareng rouge.

0

Essayez de remplacer le ImageButton avec un menu (qui contient un seul élément de menu) et fixer celui-ci la propriété ImageUrl.

0
myImagebutton.OnClientClick = "return true;"; 
0

remplacez l'attribut 'CausesValidation' par false.

2

J'ai eu le même problème. Dans mon cas, ImageButtons sont à l'intérieur d'un répéteur qui est lié à un updatepanel. Mais j'ai utilisé Page.RegisterRequiresRaiseEvent(ImageButton) dans le code derrière ItemDataBound méthode du répéteur et cela a fonctionné.

1

Si vous aviez un datalist avec un bouton image dans itemTemplate, le déclencheur n'est pas requis mais causeValidation = false l'est.

2

Ajoutez ChildrenAsTriggers="true" à votre panneau de mise à jour. Fonctionne si vous avez des pages maîtres.

Si votre panneau de mise à jour est en mode maître, vous ne pouvez pas ajouter de déclencheurs.

Questions connexes