Dynamically Loading User Control in PlaceHolder

U

Ugur Ekinci

Hi ,
I load dynamically a user control in PlaceHolder with the number of fileds
in db.
When loading user control there is no problem, if returning field number is
2 then 2 usr controls load in plcholder.
But problem is that , after page postback plcholder says that I have no
control,

For i As Integer = 0 To plcHolderUsrCont.Controls.Count - 1
kontrol1 = DirectCast(plcHolderUsrCont.Controls(i),
UrunGrupTeknik)
Dim a As String = kontrol1.txtvalue
Next

I added a reference like below , because usr control loading dynamically
<%@ Reference Control = "../kontroller/UrunGrupTeknik.ascx" %>

I defined a protected variable that's type is my usr control
Protected urunGrupTeknikTxtLbl As UrunGrupTeknik = New UrunGrupTeknik

and I load user control like that..

For i As Integer = 0 To tdsTeknikDetay.table1.Rows.Count - 1
thisrowTeknikDetay = tdsTeknikDetay.table1.Rows(i)
findControlPath = Request.ApplicationPath +
"/kontroller/UrunGrupTeknik.ascx"
kontrol1 = Me.LoadControl(findControlPath)
urunGrupTeknikTxtLbl = DirectCast(kontrol1, UrunGrupTeknik)
urunGrupTeknikTxtLbl.lblValue = thisrowTeknikDetay.ACIKLAMA
kontrol1.ID = i
plcHolderUsrCont.Controls.Add(kontrol1)
Next

plcHolder.controls.Count is set to 0 after postback:((
Have you any idea about this problem ?

Thnks....
 
D

DS

Hi,

I have a asp table in my .aspx page. I dynamically add the control to this
table. The page shows up fine. The control I had have 2 textboxes. Now I am
stuck and not able to access any of these textboxes inside the control I
added. Infact, i am not able to locate this control in the page.

Please help me out.

D. Santhosh
 
G

Gokhan Altinoren

This is a classic issue.

ASP.NET will not persist your dynamically created controls by default, it
will make sure the control-tree at the .aspx will be regenerated but thats
all, no automatic support for your codebehind. They are simply won't be
written to Viewstate tree, and hence corresponding server side control won't
be re-created after a postback.

You may use a helper control like this one instead of the PlaceHolder:
http://www.denisbauer.com/ASPNETControls/DynamicControlsPlaceholder.aspx

Gokhan Altinoren
gokhan[RMV_this][at]altinoren[also_RMV_this][dot]com
http://altinoren.com
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,769
Messages
2,569,580
Members
45,055
Latest member
SlimSparkKetoACVReview

Latest Threads

Top