ASP.NET Composite Control将事件引发到父窗体

时间:2009-07-06 17:26:23

标签: c# asp.net events composite-controls

假设我在ASP.NET(C#)中有一个复合控件,其中包含一个下拉列表。我需要能够将事件冒泡回父表单,以便可以根据其SelectedItem执行其他代码。

如何将OnSelectedItemChanged事件公开给应用程序?

我是否需要创建自己的委托并在内部下拉列表项更改时将其抬起?

2 个答案:

答案 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编写事件处理程序,并在方法内部引发事件。