Как изменить текущую страницу несколько раз (аддитивно) в ASP.NET? - PullRequest
3 голосов
/ 23 февраля 2012

Я новичок в программировании на ASP.NET.Я хотел бы добавить элементы управления на мою текущую страницу при нажатии кнопки.

В настоящее время это событие вызывается:

protected void Button_Click(object sender, EventArgs e) {
    LiteralControl litctrl = new LiteralControl("<div> Testing " + DateTime.UtcNow.Millisecond +" </div>");
    form.Controls.Add(litctrl);
}

Это отлично работает при первом нажатии, но еслиЯ нажимаю еще раз, я не получаю дополнительный div в форму.Новый div создан, но предыдущий потерян.

Почему это так и как я могу аддитивно создавать элементы управления на текущей странице?

Ответы [ 2 ]

3 голосов
/ 23 февраля 2012

См. http://chiragrdarji.wordpress.com/2009/05/20/maintain-viewstate-for-dynamic-controls-across-the-postback/ для некоторых примеров. Добавление динамических элементов управления в ASP.NET Webforms - сложный танец между пониманием обратных передач и жизненного цикла страницы. Добавьте любые требования ViewState, и это требует еще более глубокого понимания.

В соответствии с вашими требованиями вам необходимо заново создавать любые динамически добавленные элементы управления при каждой обратной передаче. Как и вы, он исчезает.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...