I have one user control and one aspx page. The user control contains one button. When user click on this button I will call a method on main page using delegate. Here is my user control,
<%
@ControlLanguage=”C#”AutoEventWireup=”true”CodeFile=”WebUserControl.ascx.cs”Inherits=”WebUserControl” %>
<
asp:ButtonID=”btnTest”runat=”server”Text=”I am Inside User Control” onclick=”btnTest_Click”/>
public
partialclassWebUserControl : System.Web.UI.
UserControl
{
// Delegate declarationpublicdelegatevoidOnButtonClick(string strValue);// Event declarationpubliceventOnButtonClick btnHandler;protectedvoid Page_Load(object sender, EventArgs e)
{
}
protectedvoid btnTest_Click(object sender, EventArgs e)
{
// Check if event is nullif (btnHandler != null)
btnHandler(
string.Empty);// Write some text to output
Response.Write(
“User Controls Button Click <BR/>”);
}
}
In the main aspx page:
protectedvoid Page_Load(object sender, EventArgs e)
{
// Declare and Define Event of User Control. When User Clicks on button
//(which is inside UserControl)// below event is raised as I have called raised that event on Button Click
rama.btnHandler +=
newWebUserControl.OnButtonClick(rama_btnHandler);
}
privatevoid rama_btnHandler(string strValue)
{
Response.Write(
“Main Page Event<BR/>Selected Value: “ +
ddlTemp.SelectedItem.Text +
“<BR/>”);
}
In the main page.aspx
<%
@PageLanguage=”C#”AutoEventWireup=”true”CodeFile=”TestDelegatetest.aspx.cs”Inherits=”TestDelegate” %>
<%
@RegisterTagPrefix=”uc1″Src=”WebUserControl.ascx”TagName=”TestDelegate” %>
<!
DOCTYPEhtmlPUBLIC“-//W3C//DTD XHTML 1.0 Transitional//EN”
“http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd”>
<
htmlxmlns
=”http://www.w3.org/1999/xhtml”>
<
headrunat
=”server”>
<title>Untitled Page</title>
</
head
>
<
body
>
<formid=”form1″runat=”server”><div><asp:LabelID=”lblText”Text=”I am On Main Page : “runat=”server”></asp:Label><asp:DropDownListID=”ddlTemp”runat=”server”><asp:ListItem>Chirag</asp:ListItem><asp:ListItem>Dipak</asp:ListItem><asp:ListItem>Shailesh</asp:ListItem></asp:DropDownList><br/><br/><uc1:TestDelegateID=”rama”runat=”server”/></div></form>
</
body
>
</
html
>