Addding usercontrol dynmaically with postback capability

  • Thread starter Thread starter news.microsoft.com
  • Start date Start date
N

news.microsoft.com

Hello,

I am trying to add an asp.net user control dynamically with the postback
capability.

Adding a user control seems straightfroward but making postback work is a
problem. When I say postback, I mean postback handled inside the
usercontrol.
e.g. let's say your user control has a text and a button. You save the text
property in viewstate varible so that it is preserved during postback. You
assign the new property value from textbox to viewstate variable after
postback.

Problem comes when controls are created dynamically.

Any help will be appreciated to make this work.

regards,
Pravin
 
What event do you dynamically add the user control? The main issue, the user
control must maintain the same id from postback to postback. If you add it
too late, it actually gets added after the postback event so none of the
click event gets fired. You have to add the control early. What I usually do
is add the control in the OnLoad or OnPreLoad event. Then if something
changes where I have to swap the control, I do it in the OnPreRender event
after wiping out the previously added control.

Another key issue, the id. Controlling the ID of the dynamically added
control will help you maintain consistancy in the postback events.

Hope this helps,
Mark Fitzpatrick
 
news.microsoft.com said:
Hello,

I am trying to add an asp.net user control dynamically with the postback
capability.

Adding a user control seems straightfroward but making postback work is a
problem. When I say postback, I mean postback handled inside the
usercontrol.
e.g. let's say your user control has a text and a button. You save the
text property in viewstate varible so that it is preserved during
postback. You assign the new property value from textbox to viewstate
variable after postback.

Problem comes when controls are created dynamically.

Any help will be appreciated to make this work.

Mark has hit this on the head. In order to work with viewstate, you have to
have the control on the page prior to when viewstate is applied back, which
means before the Load event. Take a look at the page lifecycle events and
you will understand why adding the control on load completely messes up your
system.

--
Peace and Grace,
Greg

Twitter: @gbworld
Blog: http://gregorybeamer.spaces.live.com

************************************************
| Think outside the box! |
************************************************
 
Back
Top