事件委托
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
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