2010-08-18 8 views
0

J'ai un LinkButton dans un contrôle Web et je veux lier l'événement à la page où j'utilise ce contrôle web.Comment les contrôles Web savent-ils quelle méthode aller lorsqu'un événement se produit?

L'attribut href de LinkButton est rendu comme ci-dessous.

javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions("ctl00$ctl00$CoreContent$Content$scale1", "", false, "", "/thema/fi/product/reviews.aspx", false, true)) 

Il ne déclenche pas l'événement que j'ai joint dans la page Web.

Ma question est comment ce LinkButton est censé savoir qu'il devrait aller à la méthode d'événement que j'ai liée.

Merci. PS: Je ne demande pas comment lier un événement à un bouton de liaison.

Répondre

1

Ceci est géré par __doPostBack fonction javascript qui définit __EVENTTARGET et __EVENTARGUMENT champs cachés. Pendant le cycle de vie côté serveur, les valeurs de traitement de ces champs sont extraites et le contrôle de la cible est recherché. Ce contrôle doit implémenter l'interface IPostBackEventHandler qui définit la méthode RaisePostBackEvent. La méthode soulève un événement et le gestionnaire d'événements est appelé. Pour le bouton de lien, l'événement est OnClick.

0

Pour notre premier point indiquant que l'événement bouton likn ne se déclenche pas.

Vous devez appeler votre fonction javascript dans l'événement onclientclick.

Exemple:

<asp:LinkButton ID="LinkButton1" runat="server" 
     onclientclick="Javascript:alert(&quot;s&quot;);">LinkButton</asp:LinkButton> 
    </form>