Этот код продемонстрирует это в действии:
protected void Page_Load(object sender, EventArgs e)
{
Button b1 = new Button();
Button b2 = new Button();
if (!IsPostBack)
{
b1.Text = "Button1";
}
this.form1.Controls.Add(b1);
this.form1.Controls.Add(b2);
if (!IsPostBack)
{
b2.Text = "Button2";
}
}
, поэтому, если вы изменяете элемент управления после его добавления в форму, он сохраняет свое состояние просмотра, но если вы изменяете его перед добавлением в формутекст не попадает в обзорное состояние.Это что происходит - именно почему это похоже на другой вопрос (на самом деле это обратное тому, что я бы подумал, читая документы).
EDIT
Я забыл упомянуть - по сути, это связано с тем, что элемент управления воспроизводит жизненный цикл страницы, чтобы «догнать» страницу, когда она добавляется в дерево элементов управления через Controls.Add () - Есть бесконечные статьи по этому вопросу, потому что не так много об этом просто.