Try creating the Controls OnInit event.
Then you can overcome the control vanishing problem.
Provided you a sample code :
protected override void OnInit(EventArgs e)
{
base.OnInit(e);
if (ddlList.selectedValue = "your value")
{
CreateControls();
}
else
{
pnlContainer.Controls.Clear();
}
}
CreateControls method will be used to create controls on your page.
Hope this helps.