Jul 22, 2012, 6:55 AM
Dynamic UserControl + Direct Events
Hello
After checking couple of related post, I thought following scenario should work. But after clicking the button inside the usercontrol, I sill get
"The control with ID 'button-1030' not found"
aspx:
After checking couple of related post, I thought following scenario should work. But after clicking the button inside the usercontrol, I sill get
"The control with ID 'button-1030' not found"
aspx:
<%@ Page Language="C#" %>
<%@ Import Namespace="System.Collections.Generic"%>
<%@ Register Assembly="Ext.Net" Namespace="Ext.Net" TagPrefix="ext" %>
<script runat="server">
protected void Button1_Click(object sender, DirectEventArgs e)
{
if (string.IsNullOrEmpty(hid.Value as string))
{
hid.Value = "1";
}
else
{
hid.Value = (int.Parse(hid.Value as string) + 1).ToString();
}
UserControl uc1 = (UserControl)this.LoadControl("~/WindowsApp/UserControls/TextControll.ascx");
uc1.ID = "UC" + hid.Value;
var pnl = new Ext.Net.Panel()
{
ID = "dynamicPanel"+hid.Value,
Title = "Tab"+hid.Value
};
pnl.ContentControls.Add(uc1);
pnl.Render("App.tabPanel", RenderMode.AddTo);
}
protected override void OnInit(EventArgs e)
{
var countStr = !IsPostBack ? "" : Request[hid.UniqueID];
if (countStr != null && countStr != "")
{
int count = int.Parse(countStr);
for (int i = 0; i < count; i++)
{
UserControl uc1 = (UserControl)this.LoadControl("~/WindowsApp/UserControls/TextControll.ascx");
uc1.ID = "UC" + hid.Value;
var pnl = new Ext.Net.Panel()
{
ID = "dynamicPanel" + hid.Value,
};
pnl.ContentControls.Add(uc1);
}
}
base.OnInit(e);
}
</script>
<!DOCTYPE html>
<html>
<head id="Head1" runat="server">
<title>Update Controls and Content during a DirectEvent - Ext.NET Examples</title>
<link href="/resources/css/examples.css" rel="stylesheet" type="text/css" />
</head>
<body>
<form id="Form1" runat="server">
<ext:Hidden runat="server" ID="hid" ></ext:Hidden>
<ext:ResourceManager ID="ResourceManager1" runat="server" />
<h1>Update Controls and Content during a DirectEvent</h1>
<h3>Load UserControls</h3>
<ext:TabPanel
ID="tabPanel"
runat="server"
Title="Tab with dynamic controls"
Width="500"
Height="200"
BodyPadding="5">
<TopBar>
<ext:Toolbar ID="Toolbar1" runat="server">
<Items>
<ext:Button
ID="Button1"
runat="server"
Text="Add Tab"
OnDirectClick="Button1_Click"
/>
</Items>
</ext:Toolbar>
</TopBar>
</ext:TabPanel>
</form>
</body>
</html>
ascx:<script runat="server">
public void btn1_click(object sender, DirectEventArgs e)
{
txt.Text = DateTime.Now.ToString();
}
</script>
<ext:TextField runat="server" ID="txt" />
<ext:Button runat="server" Text="Click me" OnDirectClick="btn1_click"/>