The only thing is different from your example is that the controls are not created in page_load. They are created in DirectEvent.
Thanks again.
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Reports.aspx.cs" Inherits="Admin_Reports" %>
<%@ Register Assembly="Ext.Net" Namespace="Ext.Net" TagPrefix="ext" %>
<!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>Untitled Page</title>
</head>
<body>
<ext:ResourceManager ID="ResourceManager1" runat="server">
</ext:ResourceManager>
<ext:Button ID="btnTest" runat="server" Text="Dynamically Generate Controls">
<DirectEvents>
<Click OnEvent="CreateFilterForm">
</Click>
</DirectEvents>
</ext:Button>
<ext:Window ID="winFilter" runat="server" Title="Report" Icon="Magnifier" Closable="True"
Width="300" Height="250" Resizable="false" BodyStyle="background-color:#fff;"
Hidden="true" AutoShow="false" AutoRender="false" Modal="true" Layout="Form">
<Items>
</Items>
<BottomBar>
<ext:Toolbar ID="Toolbar1" runat="server">
<Items>
<ext:Button ID="btnGetReport" runat="server" Text="Get Report" Icon="ReportStart">
<Listeners>
<Click Handler="Ext.net.DirectMethods.GetReport()" />
</Listeners>
</ext:Button>
<ext:Button ID="btnCancel" runat="server" Text="Cancel">
<Listeners>
<Click Handler="FormPanel1.destroy();winFilter.hide()"></Click>
</Listeners>
</ext:Button>
</Items>
</ext:Toolbar>
</BottomBar>
</ext:Window>
</body>
</html>
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;
using Ext.Net;
public partial class Admin_Reports : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
}
protected void CreateFilterForm(object sender, DirectEventArgs e)
{
new FormPanel
{
ID = "FormPanel1",
Padding = 5,
LabelWidth = 120,
Height = 220
}.Render(this.winFilter, RenderMode.AddTo);
Ext.Net.DateField dt1 = new Ext.Net.DateField()
{
ID = "DateField1",
Vtype = "daterange",
FieldLabel = "From",
AnchorHorizontal = "90%",
};
Ext.Net.DateField dt2 = new Ext.Net.DateField()
{
ID = "DateField2",
Vtype = "daterange",
FieldLabel = "To",
AnchorHorizontal = "90%",
};
dt1.CustomConfig.Add(new ConfigItem("endDateField", "DateField2", ParameterMode.Value));
dt1.AddTo(this.Form);
dt2.CustomConfig.Add(new ConfigItem("startDateField", "DateField1", ParameterMode.Value));
dt2.AddTo(this.Form);
winFilter.Show();
}
[DirectMethod]
public void GetReport()
{
string x;
x=X.GetCmp<TextField>("txtPharmacy").Text;
}
}