According to the ASP.NET Page Life Cycle, PostData (all values inputed on the client side) is applied between the Page.Init and Page.Load, so, if you add a control in the Page.Init, they will not lose their state and you don't have to recreate them.
protected void Page_Init()
{
Control ct = ParseControl(" ");
Page.Controls.add(ct);
}