dynamic controls will disappear after postback, to solve that issue rebind after postback.
for example
if (!IsPostBack)
{
Button button = new Button();
button.ID = "Button1";
PlaceHolder1.Controls.Add(button);
}
else
{
if (PlaceHolder1.FindControl("Button1") != null)
{
Button button = new Button();
button.ID = "Button1";
PlaceHolder1.Controls.Add(button);
}
}