You have to reload the control on every post back, because its a dynamically added control.
You can avoid the loading if you include the control in the XML markup. Then you could add both controls to the XML file and only display the one you want based on the query string.
<my_control id="createTicket">......</my_control>
<my_control2 id="historyTicket">......
if (Request.QueryString["mode"] == "createTck")
{
createTicket.Visible = true;
historyTicket.Visible = false;
}
else if (Request.QueryString["mode"] == "TcktHistory")
{
createTicket.Visible = false;
historyTicket.Visible = true;
}
</my_control2>
This link will explain what happens to the page when its submitted.
http://msdn.microsoft.com/en-us/library/ms178472(v=vs.100).aspx[
^]