Question

Say I have a composite control in ASP.NET (C#) which includes a drop down list. I need to be able to bubble the event back to the parent form so that other code can be executed based on its SelectedItem.

How do I expose the OnSelectedItemChanged event to the application?

Do I need to create my own delegate and raise it when the internal drop down list item is changed?

Was it helpful?

Solution

I've created control which contains a button and I'm using same approach; create a delegate and raise events on button's click.

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);
}

OTHER TIPS

Correct... You would want to create your own event for SelectedItem and write an event handler for the dropdown list's SelectedItem and inside the method raise your event.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top