ASP.NET Composite Control raise event to parent form
-
23-08-2019 - |
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?
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