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

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接: https://blog.csdn.net/chenxiaotao22/article/details/74857037
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);
  }
注:此种方法不适用于一个页面里有多个用户控件的情况。

猜你喜欢

转载自blog.csdn.net/chenxiaotao22/article/details/74857037