How do I expose usercontrol's variables to parent control or page, for example I have DropDownBox in user control on my UserControl and i want to access its value on my page, How do I do that?
Check following source code.
Run sample code---------------------
Parent Page
---------------------
<%@ Page Language="C#" %>
<%@ Register TagPrefix="Test" TagName="MyControl"
Src="ExtractingSUBControlsvalue.ascx" %>
<script runat="server">
void btnClick(Object sender,EventArgs e)
{
result.Text = "Name: " + TestControl1.SelectedUserName + "<br />";
result.Text += "ID: " + TestControl1.SelectedUserID ;
}
</script>
<html>
<head runat="server">
<title>Extracting Child UserControl's value</title>
</head>
<body>
<form id="form1" runat="server">
<p>Following example shows how you can access values from
Child UserControl usingpublic property in user control.
</p>
<p style="border:solid 1px;padding: 5px;">
<Test:MyControl id="TestControl1" runat="server"/>
</p>
<p>
<asp:Button Runat="server" onclick="btnClick"
Text="Get UserControl Data"/>
</p>
<p>
<asp:Label ID="result" Runat=Server></asp:Label>
</p>
</form>
</body>
</html>
---------------------
Child UserControl
---------------------
<%@ Control Language="C#" %>
<%@ import Namespace="System.Collections" %>
<script runat="server">
public String SelectedUserName { get { return UserList.SelectedItem.Text; } }
public String SelectedUserID { get { return UserList.SelectedItem.Value; } }
</script>
This is UserContorl.
<br />
<asp:DropDownList runat="server" ID="UserList">
<asp:ListItem Value="1">Tom Sawyer</asp:ListItem>
<asp:ListItem Value="2">Huckleberry Finn</asp:ListItem>
<asp:ListItem Value="3">Robinson Crusoe</asp:ListItem>
<asp:ListItem Value="4">William Tell</asp:ListItem>
</asp:DropDownList>