2009-03-26 6 views
1

J'ai un contrôle utilisateur qui a un événement auquel je peux m'abonner. Cela fonctionne (ignorer la syntaxe):Asp.Net Contrôle des événements utilisateur Wireup à partir du fichier aspx

protected void Page_Load(object sender, EventArgs e) 
{ 
    ucControl.Event += new Event(ucControl_Event); 
} 

mais si j'ai enlevé cette ligne et mettre le fil des événements dans ma page ASPX, ça ne fonctionne pas. Ex:

<uc1:ucControl id="uc_Control1" runat="server" Event="ucControl_Event" /> 

Je reçois une erreur de compilation lorsque je l'essaie sans la méthode ucControl.Event + =. L'erreur est que la page ne contient pas de définition pour "ucControl_Event" quand il est évident que c'est le cas. Comment puis-je faire correspondre mon code derrière un événement avec le fichier ASPX?

Répondre

4

Quelle est la visibilité de votre gestionnaire d'événements? Si c'est privé alors approchez 1 fonctionne, l'approche 2 ne fonctionne pas. Si c'est protégé ou public, les deux fonctionnent.

+0

votre droit. VS 05 avait créé le gestionnaire d'événements pour moi et il n'avait mis que ucControl_Event (expéditeur d'objet, EventArgs e) qui le rendait privé. Je l'ai changé pour protégé et a très bien fonctionné. Merci – Miles

+0

De rien. N'hésitez pas à sélectionner ma réponse alors. ;) –

+0

hum ... c'est bizarre. J'ai dû cliquer dessus comme 7 fois pour le vérifier. ça doit être aussi bon qu'une réponse :) – Miles