468,110 Members | 1,609 Online
Bytes | Developer Community
New Post

Home Posts Topics Members FAQ

Post your question to a community of 468,110 developers. It's quick & easy.

Maintaining the look of dynamically added usercontrols

I have a page which I dynamically add several usercontrols (*.ascx files) to
using the following code:
Public Sub Refresh()
For Each section As DataRow In Me.GetSections().Rows
CType(Me.FindControl("admin" & CStr(section("buttontext")).Replace(" ",
"")), adminsection2).RefreshSection()
Next
End Sub

Protected Sub Page_Load(ByVal sender As Object, ByVal e As
System.EventArgs) Handles Me.Load
Dim sections As DataTable = Me.GetSections()
For Each section As DataRow In sections.Rows
Me.AddAdminSection(CStr(section("buttontext")))
Next
Me.Refresh()
End Sub

Private Function GetSections() As DataTable
Dim sections As New DataTable
Dim dataadapterSelect As New OleDbDataAdapter("SELECT buttontext FROM
subnavigation WHERE buttontext<>'More.' AND category='" &
Request.QueryString("category") & "' ORDER BY buttonorder",
System.Configuration.ConfigurationManager.AppSetti ngs("connectionstring"))
dataadapterSelect.Fill(sections)
Return sections
End Function

Private Sub AddAdminSection(ByVal section As String)
Dim admin As adminsection2 =
CType(Page.LoadControl("~/usercontrols/adminsection2.ascx"), adminsection2)
admin.ID = "admin" & section.Replace(" ", "")
admin.Section = section
Me.form1.Controls.Add(admin)
End Sub
My problem is that the controls are reloaded every time, as you can see from
the Load event. If I place the following line

Me.AddAdminSection(CStr(section("buttontext")))

in an If Not Me.IsPostBack() statement, then it is only loaded the first
time and I recieve an object does not exist error every time the Refresh()
method is called (which is reasonably often, because this is for an
administration page where the user edits DB records). What can I do to
maintain the look of the dynamically added controls (in other words, how can
I avoid replacing them with every postback)? If there is any other code you
need to see that might help, let me know. Thanks.
--
Nathan Sokalski
nj********@hotmail.com
http://www.nathansokalski.com/
Jun 16 '07 #1
7 1886
On Jun 16, 10:53 am, "Nathan Sokalski" <njsokal...@hotmail.comwrote:
I have a page which I dynamically add several usercontrols (*.ascx files) to
using the following code:

Public Sub Refresh()
For Each section As DataRow In Me.GetSections().Rows
CType(Me.FindControl("admin" & CStr(section("buttontext")).Replace(" ",
"")), adminsection2).RefreshSection()
Next
End Sub

Protected Sub Page_Load(ByVal sender As Object, ByVal e As
System.EventArgs) Handles Me.Load
Dim sections As DataTable = Me.GetSections()
For Each section As DataRow In sections.Rows
Me.AddAdminSection(CStr(section("buttontext")))
Next
Me.Refresh()
End Sub

Private Function GetSections() As DataTable
Dim sections As New DataTable
Dim dataadapterSelect As New OleDbDataAdapter("SELECT buttontext FROM
subnavigation WHERE buttontext<>'More.' AND category='" &
Request.QueryString("category") & "' ORDER BY buttonorder",
System.Configuration.ConfigurationManager.AppSetti ngs("connectionstring"))
dataadapterSelect.Fill(sections)
Return sections
End Function

Private Sub AddAdminSection(ByVal section As String)
Dim admin As adminsection2 =
CType(Page.LoadControl("~/usercontrols/adminsection2.ascx"), adminsection2)
admin.ID = "admin" & section.Replace(" ", "")
admin.Section = section
Me.form1.Controls.Add(admin)
End Sub

My problem is that the controls are reloaded every time, as you can see from
the Load event. If I place the following line

Me.AddAdminSection(CStr(section("buttontext")))

in an If Not Me.IsPostBack() statement, then it is only loaded the first
time and I recieve an object does not exist error every time the Refresh()
method is called (which is reasonably often, because this is for an
administration page where the user edits DB records). What can I do to
maintain the look of the dynamically added controls (in other words, how can
I avoid replacing them with every postback)? If there is any other code you
need to see that might help, let me know. Thanks.
--
Nathan Sokalski
njsokal...@hotmail.comhttp://www.nathansokalski.com/
Hi,

Dynamically loaded controls need to be load after each post back...
other wise dynamically loaded control's event wont work...
Its always a good practice to load the controls in page_init event

Thanks
Masudur

Jun 16 '07 #2
Isn't there any kind of workaround? I am sure that I am not the first person
to want to maintain the properties of dynamically loaded usercontrols
between postbacks. Anybody have any ideas? Thanks.
--
Nathan Sokalski
nj********@hotmail.com
http://www.nathansokalski.com/

"Masudur" <mu*****@gmail.comwrote in message
news:11*********************@o11g2000prd.googlegro ups.com...
On Jun 16, 10:53 am, "Nathan Sokalski" <njsokal...@hotmail.comwrote:
>I have a page which I dynamically add several usercontrols (*.ascx files)
to
using the following code:

Public Sub Refresh()
For Each section As DataRow In Me.GetSections().Rows
CType(Me.FindControl("admin" & CStr(section("buttontext")).Replace("
",
"")), adminsection2).RefreshSection()
Next
End Sub

Protected Sub Page_Load(ByVal sender As Object, ByVal e As
System.EventArgs) Handles Me.Load
Dim sections As DataTable = Me.GetSections()
For Each section As DataRow In sections.Rows
Me.AddAdminSection(CStr(section("buttontext")))
Next
Me.Refresh()
End Sub

Private Function GetSections() As DataTable
Dim sections As New DataTable
Dim dataadapterSelect As New OleDbDataAdapter("SELECT buttontext FROM
subnavigation WHERE buttontext<>'More.' AND category='" &
Request.QueryString("category") & "' ORDER BY buttonorder",
System.Configuration.ConfigurationManager.AppSett ings("connectionstring"))
dataadapterSelect.Fill(sections)
Return sections
End Function

Private Sub AddAdminSection(ByVal section As String)
Dim admin As adminsection2 =
CType(Page.LoadControl("~/usercontrols/adminsection2.ascx"),
adminsection2)
admin.ID = "admin" & section.Replace(" ", "")
admin.Section = section
Me.form1.Controls.Add(admin)
End Sub

My problem is that the controls are reloaded every time, as you can see
from
the Load event. If I place the following line

Me.AddAdminSection(CStr(section("buttontext")))

in an If Not Me.IsPostBack() statement, then it is only loaded the first
time and I recieve an object does not exist error every time the
Refresh()
method is called (which is reasonably often, because this is for an
administration page where the user edits DB records). What can I do to
maintain the look of the dynamically added controls (in other words, how
can
I avoid replacing them with every postback)? If there is any other code
you
need to see that might help, let me know. Thanks.
--
Nathan Sokalski
njsokal...@hotmail.comhttp://www.nathansokalski.com/

Hi,

Dynamically loaded controls need to be load after each post back...
other wise dynamically loaded control's event wont work...
Its always a good practice to load the controls in page_init event

Thanks
Masudur

Jun 17 '07 #3
Nathan,

Probably Ajax, however I am seriously curious what a usercontrol for ASPNET
has to do with ADONET.

Cor

"Nathan Sokalski" <nj********@hotmail.comschreef in bericht
news:eT**************@TK2MSFTNGP05.phx.gbl...
Isn't there any kind of workaround? I am sure that I am not the first
person to want to maintain the properties of dynamically loaded
usercontrols between postbacks. Anybody have any ideas? Thanks.
--
Nathan Sokalski
nj********@hotmail.com
http://www.nathansokalski.com/

"Masudur" <mu*****@gmail.comwrote in message
news:11*********************@o11g2000prd.googlegro ups.com...
>On Jun 16, 10:53 am, "Nathan Sokalski" <njsokal...@hotmail.comwrote:
>>I have a page which I dynamically add several usercontrols (*.ascx
files) to
using the following code:

Public Sub Refresh()
For Each section As DataRow In Me.GetSections().Rows
CType(Me.FindControl("admin" & CStr(section("buttontext")).Replace("
",
"")), adminsection2).RefreshSection()
Next
End Sub

Protected Sub Page_Load(ByVal sender As Object, ByVal e As
System.EventArgs) Handles Me.Load
Dim sections As DataTable = Me.GetSections()
For Each section As DataRow In sections.Rows
Me.AddAdminSection(CStr(section("buttontext")))
Next
Me.Refresh()
End Sub

Private Function GetSections() As DataTable
Dim sections As New DataTable
Dim dataadapterSelect As New OleDbDataAdapter("SELECT buttontext FROM
subnavigation WHERE buttontext<>'More.' AND category='" &
Request.QueryString("category") & "' ORDER BY buttonorder",
System.Configuration.ConfigurationManager.AppSet tings("connectionstring"))
dataadapterSelect.Fill(sections)
Return sections
End Function

Private Sub AddAdminSection(ByVal section As String)
Dim admin As adminsection2 =
CType(Page.LoadControl("~/usercontrols/adminsection2.ascx"),
adminsection2)
admin.ID = "admin" & section.Replace(" ", "")
admin.Section = section
Me.form1.Controls.Add(admin)
End Sub

My problem is that the controls are reloaded every time, as you can see
from
the Load event. If I place the following line

Me.AddAdminSection(CStr(section("buttontext")) )

in an If Not Me.IsPostBack() statement, then it is only loaded the first
time and I recieve an object does not exist error every time the
Refresh()
method is called (which is reasonably often, because this is for an
administration page where the user edits DB records). What can I do to
maintain the look of the dynamically added controls (in other words, how
can
I avoid replacing them with every postback)? If there is any other code
you
need to see that might help, let me know. Thanks.
--
Nathan Sokalski
njsokal...@hotmail.comhttp://www.nathansokalski.com/

Hi,

Dynamically loaded controls need to be load after each post back...
other wise dynamically loaded control's event wont work...
Its always a good practice to load the controls in page_init event

Thanks
Masudur


Jun 18 '07 #4

"Nathan Sokalski" <nj********@hotmail.comwrote in message
news:eT**************@TK2MSFTNGP05.phx.gbl...
Isn't there any kind of workaround? I am sure that I am not the first
person to want to maintain the properties of dynamically loaded
usercontrols between postbacks. Anybody have any ideas? Thanks.
You have to load dynamically added controls each time. Their properties are
mantained as with static controls.
--
Miha Markic [MVP C#, INETA Country Leader for Slovenia]
RightHand .NET consulting & development www.rthand.com
Blog: http://cs.rthand.com/blogs/blog_with_righthand/

Jun 18 '07 #5
The dynamically added usercontrols that I want to maintain the look of
contain AJAX, and the reason for the postbacks is to update the data
accessed using ADO.NET, so there are your relations to AJAX and ADO.NET. The
main tags in the usercontrol are the following:

<asp:Panel>
<asp:Label/>
</asp:Panel>
<asp:Panel>
<asp:DataList>
</asp:DataList>
</asp:Panel>
<AJAX:CollapsiblePanelExtender/>

(obviously the controls all have their properties, and the DataList has it's
ItemTemplate and EditItemTemplate). The property that I am having trouble
maintaining is the Collapsed property of the CollapsiblePanelExtender
control. The postbacks are usually caused by eventbubbling through Button
controls in the DataList. I haven't tried it yet, but one idea I thought
about was to put the DataList inside an UpdatePanel. The only concerns I had
with this idea were:

1. In some cases, a record is moved from the DataSource of one DataList to
the DataSource of another DataList. This would mean I would still need a way
to update all the DataLists regardless. Any ideas to make this possibility
work?

2. There is one section that on the page (not in the usercontrols, but on
the page that contains the usercontrols) that is used to add records,
obviously causing a postback. This would cause pretty much the same
situation as Concern #1, and would probably be solved in a similar way. Any
ideas for this?

The code I currently use to update the usercontrols is the following. The
*.ascx.vb file contains the following method, which is called for all of the
usercontrols from a method in the containing page (I removed the
OleDbDataAdapter's SQL to keep the code short in the posting):

Public Sub RefreshSection()
Dim sectiontable As New DataTable
Dim sectionadapter As New OleDbDataAdapter("",
ConfigurationManager.AppSettings("connectionstring "))
sectionadapter.Fill(sectiontable)
Me.datSection.DataSource = sectiontable
Me.datSection.DataBind()
End Sub

Do any of these ideas or information help give a way to solve my problem?
Thanks.
--
Nathan Sokalski
nj********@hotmail.com
http://www.nathansokalski.com/

"Cor Ligthert [MVP]" <no************@planet.nlwrote in message
news:%2****************@TK2MSFTNGP04.phx.gbl...
Nathan,

Probably Ajax, however I am seriously curious what a usercontrol for
ASPNET has to do with ADONET.

Cor

"Nathan Sokalski" <nj********@hotmail.comschreef in bericht
news:eT**************@TK2MSFTNGP05.phx.gbl...
>Isn't there any kind of workaround? I am sure that I am not the first
person to want to maintain the properties of dynamically loaded
usercontrols between postbacks. Anybody have any ideas? Thanks.
--
Nathan Sokalski
nj********@hotmail.com
http://www.nathansokalski.com/

"Masudur" <mu*****@gmail.comwrote in message
news:11*********************@o11g2000prd.googlegr oups.com...
>>On Jun 16, 10:53 am, "Nathan Sokalski" <njsokal...@hotmail.comwrote:
I have a page which I dynamically add several usercontrols (*.ascx
files) to
using the following code:

Public Sub Refresh()
For Each section As DataRow In Me.GetSections().Rows
CType(Me.FindControl("admin" & CStr(section("buttontext")).Replace("
",
"")), adminsection2).RefreshSection()
Next
End Sub

Protected Sub Page_Load(ByVal sender As Object, ByVal e As
System.EventArgs) Handles Me.Load
Dim sections As DataTable = Me.GetSections()
For Each section As DataRow In sections.Rows
Me.AddAdminSection(CStr(section("buttontext")))
Next
Me.Refresh()
End Sub

Private Function GetSections() As DataTable
Dim sections As New DataTable
Dim dataadapterSelect As New OleDbDataAdapter("SELECT buttontext FROM
subnavigation WHERE buttontext<>'More.' AND category='" &
Request.QueryString("category") & "' ORDER BY buttonorder",
System.Configuration.ConfigurationManager.AppSe ttings("connectionstring"))
dataadapterSelect.Fill(sections)
Return sections
End Function

Private Sub AddAdminSection(ByVal section As String)
Dim admin As adminsection2 =
CType(Page.LoadControl("~/usercontrols/adminsection2.ascx"),
adminsection2)
admin.ID = "admin" & section.Replace(" ", "")
admin.Section = section
Me.form1.Controls.Add(admin)
End Sub

My problem is that the controls are reloaded every time, as you can see
from
the Load event. If I place the following line

Me.AddAdminSection(CStr(section("buttontext") ))

in an If Not Me.IsPostBack() statement, then it is only loaded the
first
time and I recieve an object does not exist error every time the
Refresh()
method is called (which is reasonably often, because this is for an
administration page where the user edits DB records). What can I do to
maintain the look of the dynamically added controls (in other words,
how can
I avoid replacing them with every postback)? If there is any other code
you
need to see that might help, let me know. Thanks.
--
Nathan Sokalski
njsokal...@hotmail.comhttp://www.nathansokalski.com/

Hi,

Dynamically loaded controls need to be load after each post back...
other wise dynamically loaded control's event wont work...
Its always a good practice to load the controls in page_init event

Thanks
Masudur



Jun 18 '07 #6
Nathan,

We have used that on our VB-Tips website, however I have not enough time to
get a nice sample from that. Why don't you make for your self a simple
sample only containing your problem.

You will find that you than find the solution.

Cor

"Nathan Sokalski" <nj********@hotmail.comschreef in bericht
news:%2****************@TK2MSFTNGP02.phx.gbl...
The dynamically added usercontrols that I want to maintain the look of
contain AJAX, and the reason for the postbacks is to update the data
accessed using ADO.NET, so there are your relations to AJAX and ADO.NET.
The main tags in the usercontrol are the following:

<asp:Panel>
<asp:Label/>
</asp:Panel>
<asp:Panel>
<asp:DataList>
</asp:DataList>
</asp:Panel>
<AJAX:CollapsiblePanelExtender/>

(obviously the controls all have their properties, and the DataList has
it's ItemTemplate and EditItemTemplate). The property that I am having
trouble maintaining is the Collapsed property of the
CollapsiblePanelExtender control. The postbacks are usually caused by
eventbubbling through Button controls in the DataList. I haven't tried it
yet, but one idea I thought about was to put the DataList inside an
UpdatePanel. The only concerns I had with this idea were:

1. In some cases, a record is moved from the DataSource of one DataList to
the DataSource of another DataList. This would mean I would still need a
way to update all the DataLists regardless. Any ideas to make this
possibility work?

2. There is one section that on the page (not in the usercontrols, but on
the page that contains the usercontrols) that is used to add records,
obviously causing a postback. This would cause pretty much the same
situation as Concern #1, and would probably be solved in a similar way.
Any ideas for this?

The code I currently use to update the usercontrols is the following. The
*.ascx.vb file contains the following method, which is called for all of
the usercontrols from a method in the containing page (I removed the
OleDbDataAdapter's SQL to keep the code short in the posting):

Public Sub RefreshSection()
Dim sectiontable As New DataTable
Dim sectionadapter As New OleDbDataAdapter("",
ConfigurationManager.AppSettings("connectionstring "))
sectionadapter.Fill(sectiontable)
Me.datSection.DataSource = sectiontable
Me.datSection.DataBind()
End Sub

Do any of these ideas or information help give a way to solve my problem?
Thanks.
--
Nathan Sokalski
nj********@hotmail.com
http://www.nathansokalski.com/

"Cor Ligthert [MVP]" <no************@planet.nlwrote in message
news:%2****************@TK2MSFTNGP04.phx.gbl...
>Nathan,

Probably Ajax, however I am seriously curious what a usercontrol for
ASPNET has to do with ADONET.

Cor

"Nathan Sokalski" <nj********@hotmail.comschreef in bericht
news:eT**************@TK2MSFTNGP05.phx.gbl...
>>Isn't there any kind of workaround? I am sure that I am not the first
person to want to maintain the properties of dynamically loaded
usercontrols between postbacks. Anybody have any ideas? Thanks.
--
Nathan Sokalski
nj********@hotmail.com
http://www.nathansokalski.com/

"Masudur" <mu*****@gmail.comwrote in message
news:11*********************@o11g2000prd.googleg roups.com...
On Jun 16, 10:53 am, "Nathan Sokalski" <njsokal...@hotmail.comwrote:
I have a page which I dynamically add several usercontrols (*.ascx
files) to
using the following code:
>
Public Sub Refresh()
For Each section As DataRow In Me.GetSections().Rows
CType(Me.FindControl("admin" &
CStr(section("buttontext")).Replace(" ",
"")), adminsection2).RefreshSection()
Next
End Sub
>
Protected Sub Page_Load(ByVal sender As Object, ByVal e As
System.EventArgs) Handles Me.Load
Dim sections As DataTable = Me.GetSections()
For Each section As DataRow In sections.Rows
Me.AddAdminSection(CStr(section("buttontext")))
Next
Me.Refresh()
End Sub
>
Private Function GetSections() As DataTable
Dim sections As New DataTable
Dim dataadapterSelect As New OleDbDataAdapter("SELECT buttontext
FROM
subnavigation WHERE buttontext<>'More.' AND category='" &
Request.QueryString("category") & "' ORDER BY buttonorder",
System.Configuration.ConfigurationManager.AppS ettings("connectionstring"))
dataadapterSelect.Fill(sections)
Return sections
End Function
>
Private Sub AddAdminSection(ByVal section As String)
Dim admin As adminsection2 =
CType(Page.LoadControl("~/usercontrols/adminsection2.ascx"),
adminsection2)
admin.ID = "admin" & section.Replace(" ", "")
admin.Section = section
Me.form1.Controls.Add(admin)
End Sub
>
My problem is that the controls are reloaded every time, as you can
see from
the Load event. If I place the following line
>
Me.AddAdminSection(CStr(section("buttontext")) )
>
in an If Not Me.IsPostBack() statement, then it is only loaded the
first
time and I recieve an object does not exist error every time the
Refresh()
method is called (which is reasonably often, because this is for an
administration page where the user edits DB records). What can I do to
maintain the look of the dynamically added controls (in other words,
how can
I avoid replacing them with every postback)? If there is any other
code you
need to see that might help, let me know. Thanks.
--
Nathan Sokalski
njsokal...@hotmail.comhttp://www.nathansokalski.com/

Hi,

Dynamically loaded controls need to be load after each post back...
other wise dynamically loaded control's event wont work...
Its always a good practice to load the controls in page_init event

Thanks
Masudur



Jun 19 '07 #7
If it was now friday I could make the sample.
"Nathan Sokalski" <nj********@hotmail.comschreef in bericht
news:%2****************@TK2MSFTNGP02.phx.gbl...
The dynamically added usercontrols that I want to maintain the look of
contain AJAX, and the reason for the postbacks is to update the data
accessed using ADO.NET, so there are your relations to AJAX and ADO.NET.
The main tags in the usercontrol are the following:

<asp:Panel>
<asp:Label/>
</asp:Panel>
<asp:Panel>
<asp:DataList>
</asp:DataList>
</asp:Panel>
<AJAX:CollapsiblePanelExtender/>

(obviously the controls all have their properties, and the DataList has
it's ItemTemplate and EditItemTemplate). The property that I am having
trouble maintaining is the Collapsed property of the
CollapsiblePanelExtender control. The postbacks are usually caused by
eventbubbling through Button controls in the DataList. I haven't tried it
yet, but one idea I thought about was to put the DataList inside an
UpdatePanel. The only concerns I had with this idea were:

1. In some cases, a record is moved from the DataSource of one DataList to
the DataSource of another DataList. This would mean I would still need a
way to update all the DataLists regardless. Any ideas to make this
possibility work?

2. There is one section that on the page (not in the usercontrols, but on
the page that contains the usercontrols) that is used to add records,
obviously causing a postback. This would cause pretty much the same
situation as Concern #1, and would probably be solved in a similar way.
Any ideas for this?

The code I currently use to update the usercontrols is the following. The
*.ascx.vb file contains the following method, which is called for all of
the usercontrols from a method in the containing page (I removed the
OleDbDataAdapter's SQL to keep the code short in the posting):

Public Sub RefreshSection()
Dim sectiontable As New DataTable
Dim sectionadapter As New OleDbDataAdapter("",
ConfigurationManager.AppSettings("connectionstring "))
sectionadapter.Fill(sectiontable)
Me.datSection.DataSource = sectiontable
Me.datSection.DataBind()
End Sub

Do any of these ideas or information help give a way to solve my problem?
Thanks.
--
Nathan Sokalski
nj********@hotmail.com
http://www.nathansokalski.com/

"Cor Ligthert [MVP]" <no************@planet.nlwrote in message
news:%2****************@TK2MSFTNGP04.phx.gbl...
>Nathan,

Probably Ajax, however I am seriously curious what a usercontrol for
ASPNET has to do with ADONET.

Cor

"Nathan Sokalski" <nj********@hotmail.comschreef in bericht
news:eT**************@TK2MSFTNGP05.phx.gbl...
>>Isn't there any kind of workaround? I am sure that I am not the first
person to want to maintain the properties of dynamically loaded
usercontrols between postbacks. Anybody have any ideas? Thanks.
--
Nathan Sokalski
nj********@hotmail.com
http://www.nathansokalski.com/

"Masudur" <mu*****@gmail.comwrote in message
news:11*********************@o11g2000prd.googleg roups.com...
On Jun 16, 10:53 am, "Nathan Sokalski" <njsokal...@hotmail.comwrote:
I have a page which I dynamically add several usercontrols (*.ascx
files) to
using the following code:
>
Public Sub Refresh()
For Each section As DataRow In Me.GetSections().Rows
CType(Me.FindControl("admin" &
CStr(section("buttontext")).Replace(" ",
"")), adminsection2).RefreshSection()
Next
End Sub
>
Protected Sub Page_Load(ByVal sender As Object, ByVal e As
System.EventArgs) Handles Me.Load
Dim sections As DataTable = Me.GetSections()
For Each section As DataRow In sections.Rows
Me.AddAdminSection(CStr(section("buttontext")))
Next
Me.Refresh()
End Sub
>
Private Function GetSections() As DataTable
Dim sections As New DataTable
Dim dataadapterSelect As New OleDbDataAdapter("SELECT buttontext
FROM
subnavigation WHERE buttontext<>'More.' AND category='" &
Request.QueryString("category") & "' ORDER BY buttonorder",
System.Configuration.ConfigurationManager.AppS ettings("connectionstring"))
dataadapterSelect.Fill(sections)
Return sections
End Function
>
Private Sub AddAdminSection(ByVal section As String)
Dim admin As adminsection2 =
CType(Page.LoadControl("~/usercontrols/adminsection2.ascx"),
adminsection2)
admin.ID = "admin" & section.Replace(" ", "")
admin.Section = section
Me.form1.Controls.Add(admin)
End Sub
>
My problem is that the controls are reloaded every time, as you can
see from
the Load event. If I place the following line
>
Me.AddAdminSection(CStr(section("buttontext")) )
>
in an If Not Me.IsPostBack() statement, then it is only loaded the
first
time and I recieve an object does not exist error every time the
Refresh()
method is called (which is reasonably often, because this is for an
administration page where the user edits DB records). What can I do to
maintain the look of the dynamically added controls (in other words,
how can
I avoid replacing them with every postback)? If there is any other
code you
need to see that might help, let me know. Thanks.
--
Nathan Sokalski
njsokal...@hotmail.comhttp://www.nathansokalski.com/

Hi,

Dynamically loaded controls need to be load after each post back...
other wise dynamically loaded control's event wont work...
Its always a good practice to load the controls in page_init event

Thanks
Masudur



Jun 19 '07 #8

This discussion thread is closed

Replies have been disabled for this discussion.

Similar topics

reply views Thread by Earl Teigrob | last post: by
4 posts views Thread by Harry | last post: by
9 posts views Thread by Anders K. Jacobsen [DK] | last post: by
2 posts views Thread by Vivek Sharma | last post: by
7 posts views Thread by =?Utf-8?B?Li46OiBLZXZpbiA6Oi4u?= | last post: by
By using this site, you agree to our Privacy Policy and Terms of Use.