By using this site, you agree to our updated Privacy Policy and our Terms of Use. Manage your Cookies Settings.
431,780 Members | 1,549 Online
Bytes IT Community
+ Ask a Question
Need help? Post your question and get tips & solutions from a community of 431,780 IT Pros & Developers. It's quick & easy.

Failed to load viewstate when dynamically adding controls in placeholders

P: n/a
Hi all,
I had problem with dynamically adding/removing controls;ascx,
Controls.Add(Page.LoadControl... in the same page of the IBuySpy
portal. ASP.NET, C#.
I added buttons to the main ASCX loaded by desktopdefault.aspx. The
buttons were used to "navigate" withing the same page. I had the
problem with "fail to load viewstate ...." due to a mismatch controls
in the treeview in the viewstate. Dynamically removing controls was
messy and it did not work in some cases.
I figured out that if I add an additional argument in the URL and
assign the url to each of the buttons, then I effectively submit
different urls each time I click any of the buttons despite the fact
that I am still in "the same page(ascx).

Example:

Main URL to my page:
http://localhost/VITRUAL_DIR/Desktop...dex=4&tabid=19

The buttons redirect to:
http://localhost/VIRTUAL_DIR/Desktop...=19&subtabid=1
http://localhost/VIRTUAL_DIR/Desktop...=19&subtabid=2
and so on.
I actually use subtabid to know where in the Page the user is, but if
you don't need it, you can use a dummy parm every time you change your
control list. I believe that the result will be tricking ASP engine
into not using the Viewstate to reconstruct the control states, since
the URL is now different;
Example:
http://localhost/VIRTUAL_DIR/Desktop...ed2newControls

http://localhost/VIRTUAL_DIR/Desktop...orenewControls

I'd like to hear comments on this workaround. I was trying to find a
simple solution for quite few hours in the user groups, but nothing
similar was suggested.
Cheers,
Sinisa Ruzin(contact aaAT itdesign-inc.com)
http://www.itdesign-inc.com
-- Custom Web Solutions--
Nov 18 '05 #1
Share this question for a faster answer!
Share on Google+

This discussion thread is closed

Replies have been disabled for this discussion.