假设我在ASP.NET(C#)中有一个复合控件,其中包含一个下拉列表。我需要能够将事件冒泡回父表单,以便可以根据其SelectedItem
执行其他代码。
如何将OnSelectedItemChanged
事件公开给应用程序?
我是否需要创建自己的委托并在内部下拉列表项更改时将其抬起?
答案 0 :(得分:5)
我创建了包含按钮的控件,我使用相同的方法;创建一个委托并在按钮单击时引发事件。
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);
}
答案 1 :(得分:0)
正确......您可能希望为SelectedItem创建自己的事件,并为下拉列表的SelectedItem编写事件处理程序,并在方法内部引发事件。