在父页面处理用户控件的事件

来源:互联网 发布:家谱软件哪个好 编辑:程序博客网 时间:2024/04/27 13:27
I.直接添加事件
方法:
在页面的Page_Load事件里写如下代码(UcEquipmentQuery1是用户控件):
   DropDownList ddl=(DropDownList)UcEquipmentQuery1.FindControl("DropDownList1");
   ddl.SelectedIndexChanged+=new EventHandler(ddl_SelectedIndexChanged);
在页面写事件处理函数:
private void ddl_SelectedIndexChanged(object sender, EventArgs e)
  {
   //处理
  }

 
II.可以用Event Bubble来实现
方法:
a.在用户控件的DropDownList的事件里调用RaiseBubbleEvent方法,如:
   private void DropDownList1_SelectedIndexChanged(object sender, System.EventArgs e)
  {
   this.RaiseBubbleEvent(sender,e);
  }
b.在页面代码中重载OnBubbleEvent方法,如:
protected override bool OnBubbleEvent(object source,System.EventArgs arg)
  {
   if(source is DropDownList)
   {
    //处理
    return true;
   }
   return base.OnBubbleEvent(source,arg);
  }
注:此种方法不适用于一个页面里有多个用户控件的情况。