如何将PostBack数据拉入动态添加的UserControl(.NET)?

时间:2009-04-06 18:13:51

标签: c# .net viewstate dynamic-controls

我的页面上有一个Panel:

<asp:Panel ID="pnlTest" runat="server" />

然后我在Page_Load上动态添加一个TextBox:

    TextBox simpleTextBox = new TextBox();
    pnlTest.Controls.Add(simpleTextBox);
    simpleTextBox.ID = "SimpleTextBox-1";

有没有办法在不直接从Request.Form中提取信息的情况下提取此TextBox中输入的信息?在我再次添加之后,我想我可以做这样的事情:

lblPresentResults.Text = myTextBox.Text;

我知道这个例子似乎很人为,但我想我会尝试消除我特定应用程序中的所有其他变量,特别是在这里提问。

2 个答案:

答案 0 :(得分:3)

您需要在viewstate加载之前添加文本框,例如在Page_Init中,您应该能够执行此操作。

答案 1 :(得分:2)

只需在InitPreInit上创建文本框而不是加载,以便在 ViewState恢复之前它存在于页面中。然后ASP.Net将自动为您更新。