2010-01-14 4 views
0

J'ai créé un événement personnalisé et lui ai affecté un gestionnaire.Pourquoi le gestionnaire d'événement personnalisé a été déclenché deux fois dans asp.net?

la ligne qui pose événement est appelé une fois, mais gestionnaire est appelé se

DEUX fois, pourquoi il est si?

Aidez s'il vous plaît?

+1

Pouvez-vous écrire du code? – taylonr

+0

Quel événement? Pourriez-vous ajouter quel événement est déclenché deux fois? –

+0

RaiseEvent DateSelected (Me, argSchedulerEventAgrs) pour déclencher l'événement et AddHandler Scheduler.DateSelected, AddressOf Date_Selected pour ajouter un gestionnaire –

Répondre

0

Si l'événement a été joint deux fois, alors lorsque vous déclenchez l'événement, le gestionnaire d'événements est appelé deux fois. Par exemple

public void MyEventHandler(object sender, EventArgs e) { 
} 

... 

someObject.SomeEvent += MyEventHandler; 
someObject.SomeEvent += MyEventHandler; 

... 

someObject.RaiseSomeEvent(); 

Cela provoquera l'appel de MyEventHandler deux fois. Êtes-vous sûr que l'événement n'est attaché qu'une seule fois?

0

Vous pouvez considérer que d'autres opérations peuvent déclencher des événements que vous gérez, comme par exemple lorsque vous liez des données à une zone de liste modifiable, cela déclenche automatiquement l'événement OnSelectionChange. Par conséquent, vous pourriez avoir un scénario où OnLoad lierait des données au combo pour que l'événement se lève, et OnInit vous assigneriez une valeur par défaut au combo qui soulève à nouveau l'événement.

Sans aucun code de votre part, cela peut seulement vous aider à réaliser que ce problème peut se produire de plusieurs façons.

Voyons donc le code s'il vous plaît! :)

+0

RaiseEvent DateSelected (Moi, argSchedulerEventAgrs) pour déclencher l'événement et AddHandler Scheduler.DateSelected, AddressOf Date_Selected pour ajouter le gestionnaire –

+0

Vous attendez-vous sérieusement à ce que quelqu'un fournisse une réponse basée sur cet exemple de code? – tzup

Questions connexes