【发布时间】:2010-02-14 06:36:15
【问题描述】:
假设我在 ASP.NET (C#) 中有一个复合控件,其中包括一个下拉列表。我需要能够将事件冒泡回父表单,以便可以根据其SelectedItem 执行其他代码。
如何向应用程序公开OnSelectedItemChanged 事件?
当内部下拉列表项更改时,我是否需要创建自己的委托并提升它?
【问题讨论】:
标签: c# asp.net events composite-controls
假设我在 ASP.NET (C#) 中有一个复合控件,其中包括一个下拉列表。我需要能够将事件冒泡回父表单,以便可以根据其SelectedItem 执行其他代码。
如何向应用程序公开OnSelectedItemChanged 事件?
当内部下拉列表项更改时,我是否需要创建自己的委托并提升它?
【问题讨论】:
标签: c# asp.net events composite-controls
我创建了包含一个按钮的控件,并且我正在使用相同的方法;创建一个委托并在按钮单击时引发事件。
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);
}
【讨论】:
正确...您可能希望为 SelectedItem 创建自己的事件并为下拉列表的 SelectedItem 编写事件处理程序,并在方法内引发您的事件。
【讨论】: