2009-07-06 5 views
2

Angenommen, ich habe ein zusammengesetztes Steuerelement in ASP.NET (C#), das eine Dropdown-Liste enthält. Ich muss in der Lage sein, das Ereignis zurück zu dem übergeordneten Formular zu sprudeln, damit anderer Code basierend auf seinem SelectedItem ausgeführt werden kann.ASP.NET Composite Control löst Ereignis zu übergeordnetes Formular

Wie kann ich das Ereignis OnSelectedItemChanged der Anwendung aussetzen?

Muss ich meinen eigenen Delegaten erstellen und ihn erhöhen, wenn der interne Dropdown-Listeneintrag geändert wird?

Antwort

5

Ich habe die Kontrolle erstellt, die eine Schaltfläche enthält, und ich verwende den gleichen Ansatz; Erstellen Sie einen Delegaten und erhöhen Sie Ereignisse auf Knopfdruck.

public delegate void IndexChangeEventHandler(object sender, EventArgs e); 
public event IndexChangeEventHandler SelectedIndexChanged = delegate { }; 

//this is in your composite control, handling ddl's index change event 
protected void DDL_SelectedIndexchanged(object sender, EventArgs e) 
{ 
    SelectedIndexChanged(this, e); 
} 
+0

Das ist genau das, was ich dachte, danke! – Mauro

0

Correct ... Sie wollen Ihr eigenes Ereignis für SelectedItem erstellen und einen Ereignishandler für die SelectedItem und innerhalb der Methode heben Sie Ihre Veranstaltung Dropdown-Liste schreiben.

Verwandte Themen