Ask a Question related to ASP.NET General, Design and Development.
-
Karl Seguin #1
need help with dynamically created user control
i have a dynamically created user control which contains a non-dynamically
created ASP.Net button. When the button is clicked, the event is not fired.
I know that the control must be created on postback, and it is. However,
I've noticed an intriguing thing which I think might be at the root of the
problem.
My page inherits from a basepage, which in turn inherits from
System.Web.UI.Page. On initial load, the events fire something like this:
page.load (aspx page)
control.load (dynamically loaded ascx control)
base.CreateChildControls (base page)
base.Render (base page)
however, on postback, the sequence of events changes to:
base.CreateChildControls
page.load
control.load
base.Render
I imagine that this unexpected change of sequence, in addition to what I'm
probably doing in CreateChildControls is the cause of my problem. I'm
guessing this because if I make my page inherit directly from
System.Web.UI.Page, the problem is solved (also, if I don't make the control
dynamic, the problem is solved).
Here's my CreateChildControls in the base page, as I suspect I might be
doing something wrong in it:
Protected Overrides Sub CreateChildControls()
Me.Controls.Add(_plcContent)
Dim mainForm As HtmlForm = CType(Page.FindControl("frmMain"), HtmlForm)
If Not mainForm Is Nothing Then
Dim Header As Control =
CType(Page.LoadControl("~/Presentation/Header.ascx"), Control)
Dim Footer As Control =
CType(Page.LoadControl("~/Presentation/Footer.ascx"), Control)
mainForm.Controls.AddAt(0, Header)
mainForm.Controls.Add(Footer)
_plcContent.Controls.Add(mainForm)
End If
MyBase.CreateChildControls()
End Sub
_plcContent is a new PlaceHolder defined in the base page.
Karl
Karl Seguin Guest
-
Managing ViewState of a dynamically created Custom Composite Server Control -(where the original is also dynamically created)
Ok here's my scenario. I have a Custom Composite Server Control (CCSC) consisting of a TextBox, Button & Panel. (And some other code - which I... -
Dynamically created user controls
In ASP.Net, I am working with some in-house software that dynamically creates a form based on rows in a database table. For example, most pages... -
Retrieving Values from dynamically created controls in a user control
Hi, Dynamic control should be load every time page load, even on post back. take out control creation from IsPostBack condition. Natty Gur ... -
dynamically created control is not being validated
I have a user control that contains a custom control, both are loaded dynamically. The custom control has a simple required field validator and a... -
returning values from dynamically created user control
Hi, I've got a fairly simple date control, that I'm creating dynamically in my page. The reason for creating it dynamically is that I want the... -
MS News \(MS ILM\) #2
Re: need help with dynamically created user control
Karl, I am trying to Open my Mind.
Should MyBase.CreateChildControls() be first in line??
just guessing.
"Karl Seguin" <karl @ openmymind.net> wrote in message
news:u1zI6G1XDHA.736@TK2MSFTNGP09.phx.gbl...fired.> i have a dynamically created user control which contains a non-dynamically
> created ASP.Net button. When the button is clicked, the event is notcontrol> I know that the control must be created on postback, and it is. However,
> I've noticed an intriguing thing which I think might be at the root of the
> problem.
>
> My page inherits from a basepage, which in turn inherits from
> System.Web.UI.Page. On initial load, the events fire something like this:
>
> page.load (aspx page)
> control.load (dynamically loaded ascx control)
> base.CreateChildControls (base page)
> base.Render (base page)
>
> however, on postback, the sequence of events changes to:
> base.CreateChildControls
> page.load
> control.load
> base.Render
>
>
> I imagine that this unexpected change of sequence, in addition to what I'm
> probably doing in CreateChildControls is the cause of my problem. I'm
> guessing this because if I make my page inherit directly from
> System.Web.UI.Page, the problem is solved (also, if I don't make theHtmlForm)> dynamic, the problem is solved).
>
> Here's my CreateChildControls in the base page, as I suspect I might be
> doing something wrong in it:
>
> Protected Overrides Sub CreateChildControls()
> Me.Controls.Add(_plcContent)
> Dim mainForm As HtmlForm = CType(Page.FindControl("frmMain"),> If Not mainForm Is Nothing Then
> Dim Header As Control =
> CType(Page.LoadControl("~/Presentation/Header.ascx"), Control)
> Dim Footer As Control =
> CType(Page.LoadControl("~/Presentation/Footer.ascx"), Control)
> mainForm.Controls.AddAt(0, Header)
> mainForm.Controls.Add(Footer)
> _plcContent.Controls.Add(mainForm)
> End If
> MyBase.CreateChildControls()
> End Sub
>
>
> _plcContent is a new PlaceHolder defined in the base page.
>
> Karl
>
>
MS News \(MS ILM\) Guest



Reply With Quote

