Arrao4u

…a blog by Rama Rao

Archive for the ‘Passing values from usercontrol to Aspx page’ Category

Event Raising from usercontrol to main page in c# using delegate

Posted by arrao4u on April 24, 2011

 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”&gt;

<

htmlxmlns

=”http://www.w3.org/1999/xhtml”&gt;

<

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

>

Posted in ASPNET, Passing values from usercontrol to Aspx page | Leave a Comment »