2009-06-08 6 views
3

Ich habe auf der Masterseite ein Ereignis, auf das ich in den Seiten zugreifen möchte, die diese Masterseite verwenden, aber es scheint nicht zu funktionieren.Zugriff auf Ereignisse und Member auf der Masterseite

Im Master

public delegate void NotifyRequest(object sender, EventArgs e); 
public class MyMaster 
{ 
    public event NotifyRequest NewRequest; 
    protected void uiBtnNewTask_Click(object sender, EventArgs e) 
    { 
     if(NewRequest!= null) 
     NewRequest(this, e) 
    } 
} 

geerbt Seite

MyMaster mm = new MyyMaster(); 
mm.NewRequest += new NotifyRequest(mm_NotifyRequest); 
void mm_NotifyRequest(object sender, EventArgs e) 
{ 
    Label1.Text = "Wow"; 
    this.Label1.Visible = true; 
} 

Mein Problem ist das Ereignis immer null ist. Irgendwelche Ideen?

+0

In Ihrem Codebeispiel oben, Sie registrieren zu "NewRequest", aber zu überprüfen, ob "NotifyRequest" null ist. Ist das ein Tippfehler? –

+0

Ja, es war ein Tippfehler, ich habe es jetzt behoben –

Antwort

3

Sie wahrscheinlich Notwendigkeit, die folgende Syntax verwenden, um Ihre Veranstaltung in der Master-Seite

((MyMaster)Master).NewRequest += new NotifyRequest(mm_NotifyRequest); 

zugreifen Wenn Sie Mitglieder einer Masterseite greifen Sie auf die Seite Meister Attribut verwenden müssen und Wirf es auf deine Masterseite.

Alternativ

Wenn Sie wünschen, wollen nicht eine Besetzung verwenden Sie das @MasterType Direktive benutzen eine starke Bezugnahme auf Masterseite, in diesem Fall MyMaster zu erstellen. So können Sie wie folgt auf Ihre Veranstaltung zugreifen: Master.NewRequest.

More Reading about Master Pages

+0

Ja, das war das Problem, danke –

Verwandte Themen