2012-04-01 16 views
0

Ich habe für eine Lösung für diese mehrere Stunden gesucht und kann keine Lösung finden.asp.net Event-Handler nicht feuern

Das Szenario:

  • ich ein Masterpage Basisklasse haben (so genannte Base)
  • Alle meine Masterseiten erben von Base
  • Base definiert ein Ereignis 'Public Event HandleClickEvent Als Eventhandler'
  • Ich habe eine masterpage namens master1
  • master1 definiert einen Event-Handler 'Public Shadows Ereignis HandleClickEvent als EventHandler'
  • ein Benutzersteuer
  • master1 usr1
  • usr1 genannt hat eine Schaltfläche, die Veranstaltung, wenn darauf geklickt
  • ButtonClicked wirft habe ich eine Seite (thepage), die master1
  • thepage hat eine Schaltfläche Click-Ereignishandler verwendet, dass es wie so registriert : 'AddHandler Master.HandleClickEvent, AddressOf HandleTheClick' hat
  • master1 Code so etwas wie:

    Protected Sub Usr1_ButtonClicked (ByVal Absender als Gegenstand, ByVal e As System.EventArgs) Griffe Usr1.ButtonClicked Raise HandleClickEv ent (Absender, e) End Sub

  • wenn thepage Lasten Ich sehe es den Handler

  • auf master1 registrieren, wenn die Schaltfläche geklickt wird, Usr1_ButtonClicked gebrannt wird und ich trete durch die Raise aber HandleClickEvent auf thepage ist nie erreicht.

Ich denke, ich mache etwas Dummes. Ich würde etwas Hilfe schätzen.

Danke!

Antwort

0

Muss das Ereignis auf Ihrer Masterseitenklasse ein tatsächlicher Event-Handler sein? Sie sollten in der Lage sein, nur es eine öffentliche Methode zu machen und greifen es von Ihrer Seite (oder Benutzerkontrolle) Ereignishandler wie folgt aus:

Page.Master.MyPublicMasterPageMethod() 

Um eine Methode auf Ihrer Content-Seite von Ihrer Master-Seite rufen Sie VB verwenden könnten CallByName Methode: http://msdn.microsoft.com/en-us/library/22x2chfx.aspx

+0

OK ... Ich bin mir nicht sicher, ob ich weiß, was du meinst. Wie ruft das gefeuerte Ereignis von der Masterseiten-Schaltfläche dann den Handler auf der Seite auf? Entschuldigung ... ein wenig verloren. –

+0

Siehe meine aktualisierte Antwort, um einen Anruf in die andere Richtung zu tätigen (von der Masterseite zur Inhaltsseite) – KodeKreachor

+0

Danke. Ich werde es versuchen ... aber ich bin immer noch sehr neugierig, warum der Event-Handler nicht feuert ... als ob ich etwas vermisse. –