User Controls (.ascx files) are rendered during the containing page life cycle, just as you mention. When you do a button click postback on the containing page, upon the postback load the User Control will be completely rerendered. If you require the User Control to contain different information upon this load there are many things you can do:
- In your User Control, go to a data store and return the information required during its load event or any other proper event (databind of a control, etc.)
- In the Page Load of your containing
page, assign values to properties of
your UserControl that you use within
different aspects of the User
Control. These values could come
from a data store or querystring or
whatever.
There are plenty of other options as well. If you're talking about partial postbacks or AJAXy type stuff, then you'll probably have to use JavaScript to update the different parts of your User Control (unless you're using UpdatePanels, which you shouldn't because they are the devil).