事件委托

 

  1 using System;
  2 using System.Collections;
  3 using System.ComponentModel;
  4 using System.Data;
  5 using System.Drawing;
  6 using System.Web;
  7 using System.Web.SessionState;
  8 using System.Web.UI;
  9 using System.Web.UI.WebControls;
 10 using System.Web.UI.HtmlControls;
 11 using Ksi.Net.Common;
 12 
 13 namespace Ksi.Net.aspx.Content
 14 {
 15     public class Data_Edit : System.Web.UI.Page
 16     {
 17         protected System.Web.UI.WebControls.PlaceHolder PlaceHolder1;
 18     
 19         private void Page_Load(object sender, System.EventArgs e)
 20         {
 21 
 22             
 23             UserControl control =  (UserControl)LoadControl("../Content/Data_list.ascx");
 24             control.ID = "fxq1";
 25             this.PlaceHolder1.Controls.Add(control);
 26             MyUserControl uc = this.FindControl("fxq1"as MyUserControl ;
 27             uc.Click += new ClickEventHandler(UserControl_Clicked);    
 28 
 29         }
 30 
 31         override protected void OnInit(EventArgs e)
 32         {
 33             InitializeComponent();
 34             base.OnInit(e);
 35         }
 36         
 37 
 38         private void InitializeComponent()
 39         {    
 40             this.Load += new System.EventHandler(this.Page_Load);
 41 
 42         }
 43 
 44 
 45         private void UserControl_Clicked(object sender, System.EventArgs e)
 46         {
 47             // UserControl_Clicked event hanlder
 48             this.Response.Write("<script>alert('test');</script>");
 49         } 
 50     }
 51 }
 52 ================================================================================================
 53 定义代码:
 54 namespace Ksi.Net.aspx.Content
 55 {
 56     using System;
 57     using System.Data;
 58     using System.Drawing;
 59     using System.Web;
 60     using System.Web.UI;
 61     using System.Web.UI.WebControls;
 62     using System.Web.UI.HtmlControls;
 63     using System.ComponentModel;
 64 
 65 
 66     public delegate void ClickEventHandler(object sender, EventArgs e);
 67     public class MyUserControl : System.Web.UI.UserControl
 68     {
 69         protected System.Web.UI.WebControls.Label Label1;
 70         protected System.Web.UI.WebControls.Button Button1;
 71         
 72         public event ClickEventHandler Click;
 73         protected void OnClick(EventArgs e) 
 74         {
 75             if (Click!=null) Click(this, e); 
 76         }
 77         private void Page_Load(object sender, System.EventArgs e)
 78         {
 79             this.Label1.Text = "fxq";
 80         }
 81         
 82         override protected void OnInit(EventArgs e)
 83         {
 84 
 85             InitializeComponent();
 86             base.OnInit(e);
 87         }
 88         
 89 
 90         private void InitializeComponent()
 91         {
 92             this.Button1.Click += new System.EventHandler(this.Button1_Click);
 93             this.Load += new System.EventHandler(this.Page_Load);
 94 
 95         }
 96 
 97         private void Button1_Click(object sender, System.EventArgs e)
 98         {
 99             this.OnClick(e);
100         }
101 
102 
103         
104     }
105 }
106 
posted @ 2006-09-08 16:10  Titans  阅读(147)  评论(0编辑  收藏  举报