Dynamic Ajax Controls and Postback

P

Peter

I am adding web controls dynamically and everything works fine until I've
tried to add CalendarExtender from ASP.NET Ajax library. The
CalanderExtender gets added and works fine until I submit the form and then
I get the following error:

Microsoft JScript runtime error:
Sys.WebForms.PageRequestManagerServerErrorException: Failed to load
viewstate. The control tree into which viewstate is
being loaded must match the control tree that was used to save viewstate
during the previous request. For example, when adding controls dynamically,
the controls added during a post-back must match the type and position of
the controls added during the initial request.

This error occurs before the Page_Load event.

Does anyone know how to fix this?


Here's how I am adding the Calendar Extender

txt = new TextBox();
txt.MaxLength = parm.MaxLength;
txt.ID = parm.ParameterNameID;
txt.Text = "";
txt.EnableViewState = true;
txt.AutoPostBack = false;
lbl.AssociatedControlID = txt.ID;
this.PlaceHolder1.Controls.Add(txt);

CalendarExtender ce = new CalendarExtender();
ce.ID = parm.ParameterNameID + "_CalendarExtender";
ce.TargetControlID = parm.ParameterNameID;
ce.Format = "d";
ce.EnableViewState = true;
this.PlaceHolder1.Controls.Add(ce);



Thank You



Peter
 
C

cfps.Christian

I don't remember having that problem when I was trying to add date
items to my form but what I did to make it easy is I created a User
Control and called it like DateTimePicker and dynamically added that
to the form so I didn't have to set all the properties.
 
B

bruce barker

at postback you need to create the controls in OnInit, so they exist when the
loadviewstate is called. you need to be carefull of creating autonamed
controls, becuase if you do it in the wrong order on postback, the names
change.


-- bruce (sqlwork.com)
 
P

Peter

Thank You

Creating User Control solved the problem and works a lot better with User
Control
 

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

Forum statistics

Threads
473,769
Messages
2,569,582
Members
45,057
Latest member
KetoBeezACVGummies

Latest Threads

Top