Step: 2 Codes
Default.aspx
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs"
Inherits="_Default" Debug="true" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>mm.Delegate6 : Create control and Tag Events</title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:PlaceHolder ID="PlaceHolder1"
runat="server"></asp:PlaceHolder><br />
<asp:Label ID="Label1" runat="server" Text="Label"></asp:Label>
</div>
</form>
</body>
</html>
Default.aspx.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Drawing;
using System.Collections; // for array List
public delegate void ButtonClick(object sender, EventArgs e);
public delegate void Button1_Click(object sender, EventArgs e);
public delegate void DropDownList1_SelectedIndexChanged(object
sender, EventArgs e);
public partial class _Default : System.Web.UI.Page
{
protected System.Web.UI.WebControls.Button Button1;
protected System.Web.UI.WebControls.DropDownList ddl = new
DropDownList();
protected System.Web.UI.WebControls.Button Button2 ;//= new
Button();
protected System.Web.UI.WebControls.Literal Literal1 = new
Literal();
protected void Page_Load(object sender, EventArgs e)
{
ArrayList al = new ArrayList();
al.Add("color='white'");
al.Add("color='red'");
al.Add("color='Navy'");
al.Add("color='Green'");
al.Add("color='Maroon'");
//
Button b = new Button();
b.Width = 100;
b.Text = "Click";
b.BackColor = Color.WhiteSmoke;
b.Visible = true;
PlaceHolder1.Controls.Add(b);
b.Click += new System.EventHandler(ButtonClick);
//you can use form1.Controls.Add(ddl);
Button Button1 = new Button();
Button1.Text = "Button 1";
PlaceHolder1.Controls.Add(Button1);
Button1.Click += new System.EventHandler(Button1_Click);
Label1.Text = "<br/>";
Literal1.Text ="<br/>used as Separator <hr/>";
PlaceHolder1.Controls.Add(Literal1);
ddl.ID = "DD1";
ddl.AutoPostBack = true;
ddl.Width = 150;
ddl.DataSource = al;
//ddl.DataTextField = "key";
ddl.DataBind();
PlaceHolder1.Controls.Add(ddl);
ddl.SelectedIndexChanged += new
System.EventHandler(DropDownList1_SelectedIndexChanged);
}
protected void ButtonClick(Object sender, EventArgs e)
{
Label1.Text = "";
Label1.Text += "<br/><font color='red'> You Clciked a </font> " +
sender.GetType().Name.ToString();
}
protected void Button1_Click(Object sender, EventArgs e)
{
Label1.Text = "";
Label1.Text += "<br/>You Clciked Button_1 :" + sender.ToString();
Label1.Text += "<br/>You Clciked Button_1 :" +
sender.GetType().FullName.ToString();
}
protected void DropDownList1_SelectedIndexChanged(object sender,
EventArgs e)
{
Label1.Text = "";
string str = ddl.SelectedItem.Text;
Label1.Text ="<br/><font " + str + "> Color Chnaged To : "+
ddl.SelectedItem.Text + "</font>";
}
}
Default2.aspx
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default2.aspx.cs"
Inherits="Default2" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
</head>
<body>
<form id="form1" runat="server">
<div>This page uses a public Delegate declared in Default.aspx.
<asp:PlaceHolder ID="PlaceHolder1"
runat="server"></asp:PlaceHolder><br />
<asp:Label ID="Label1" runat="server" Text="Label"></asp:Label>
</div>
</form>
</body>
</html>
Default2.aspx.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Collections;
// delegation used in Default.aspx.cs
//public delegate void DropDownList1_SelectedIndexChanged(object
sender, EventArgs e);
public partial class Default2 : System.Web.UI.Page
{
protected System.Web.UI.WebControls.DropDownList ddl = new
DropDownList();
protected void Page_Load(object sender, EventArgs e)
{
}
protected void DropDownList1_SelectedIndexChanged(object sender,
EventArgs e)
{
Label1.Text = "";
string str = ddl.SelectedItem.Text;
Label1.Text = "<br/><font " + str + "> Color Chnaged To : " +
ddl.SelectedItem.Text + "</font>";
}
protected void Page_Init(object sender, EventArgs e)
{
ArrayList al = new ArrayList();
al.Add("color='white'");
al.Add("color='red'");
al.Add("color='Navy'");
al.Add("color='Green'");
al.Add("color='Maroon'");
//
ddl.ID = "DD1";
ddl.AutoPostBack = true;
ddl.Width = 150;
ddl.DataSource = al;
//ddl.DataTextField = "key";
ddl.DataBind();
form1.Controls.Add(ddl);
ddl.SelectedIndexChanged += new
System.EventHandler(DropDownList1_SelectedIndexChanged);
}
}