代码之家  ›  专栏  ›  技术社区  ›  Jon Smock

如何将回发数据拉回到动态添加的用户控件(.net)中?

  •  0
  • Jon Smock  · 技术社区  · 15 年前

    我的页面上有一个面板:

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

    然后在页面加载时动态添加文本框:

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

    有没有一种方法可以在不直接从request.form中提取信息的情况下提取此文本框中键入的信息?我想我可以在再次添加后做类似的事情:

    lblPresentResults.Text = myTextBox.Text;
    

    我知道这个例子似乎是做作的,但是我想我应该尝试消除特定应用程序中的所有其他变量,特别是在这里问一个问题。

    2 回复  |  直到 15 年前
        1
  •  3
  •   ChrisPelatari    15 年前

    您需要在加载viewstate之前添加文本框,例如在page_init中,并且您应该能够这样做。

        2
  •  2
  •   Joel Coehoorn    15 年前

    只需在上创建文本框 Init PreInit 而不是加载,以便它存在于页面中 之前 视图状态已还原。然后ASP.NET会自动为您更新它。