【问题标题】:Asp.Net - UpdatePanel - Add many textboxAsp.Net - UpdatePanel - 添加许多文本框
【发布时间】:2009-09-27 23:06:10
【问题描述】:

我的问题是每次点击“测试”按钮时,只会创建一个文本框。如果我点击两次,我希望出现两个文本框。

我试试这个solution,它似乎工作正常,除了一件事。文本框的每个文本都是(重新)创建的,所以我失去了用户输入的值......

aspx:

<asp:UpdatePanel ID="upTest" runat="server">
    <ContentTemplate>
        <asp:Button ID="btnTest" runat="server" Text="Test" OnClick="btnTest_Click" />
        <asp:Panel ID="pnTest" runat="server" />
    </ContentTemplate>
</asp:UpdatePanel>

代码隐藏

protected void btnTest_Click(object sender, EventArgs e)
{
    pnTest.Controls.Add(new TextBox());
}

【问题讨论】:

    标签: c# asp.net ajax textbox updatepanel


    【解决方案1】:

    问题是您希望 UpdatePanel 处理您的视图状态,而它仅适用于预定义的控件。因为您是动态制作它们的,所以它们没有视图状态,因此您需要自己进行所有视图状态管理。

    您可以将值存储在每个回发中,然后在重新创建控件后重新插入它们,但没有内置功能可以执行此操作。每次回发时,您都可以将控件名称存储为视图状态键,然后存储值。然后,当您重新创建控件时,您可以将控件名称(应该相同)和值与新创建的控件匹配,但显然是最新的,它还没有存储条目。

    【讨论】:

    • 您能否提供一个示例或链接来解释您的解释,因为我尝试但没有成功...
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-12-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多