如何在ASP.NET中多次(附加地)修改当前页面?

时间:2012-02-23 00:01:39

标签: c# asp.net controls client-server

我是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,但前一个div丢失了。

为什么会如此?如何在当前页面上添加控件?

2 个答案:

答案 0 :(得分:3)

有关示例,请参阅http://chiragrdarji.wordpress.com/2009/05/20/maintain-viewstate-for-dynamic-controls-across-the-postback/。在ASP.NET Webforms中添加动态控件是理解回发和页面生命周期之间的一个棘手的舞蹈。抛出任何ViewState要求,需要更深入的理解。

根据您的要求,您需要在每次回发时重新创建任何动态添加的控件。你不是,它就消失了。

答案 1 :(得分:2)