更新面板复制我的控件

时间:2011-02-25 19:40:23

标签: .net asp.net vb.net updatepanel

我的代码如下所示:

    <asp:UpdatePanel ID="UpdatePanel1" runat="server">
    <Triggers>
    <asp:AsyncPostBackTrigger ControlID="btnAddIsotope" EventName="Click" />
    </Triggers>
    <ContentTemplate>
    <asp:gridview id="gwResults" runat="server">
    'all gridview columns go here
    </asp:gridview>

    <asp:ObjectDataSource here>

    <asp:Panel id="pnlAddIso" runat="server">

    <asp:Textbox ID="txtIsoDate" runat="server"   />
    <asp:Button ID="btnAdd"   Text="Add " CssClass="button" runat="server" />

    </asp:Panel>
</ContentTemplate>
    </asp:UpdatePanel>

当我点击按钮时,它应该将txtIsoDate中的项目添加到数据库中并刷新gridview。

它添加很好,但当它回来时它会创建我的pnlAddIso的另一个副本。

为什么会这样?我很困惑。请帮忙。

如果我的按钮我写了pnlAddIso.visible = false,则不会出现新的重复面板,但旧的面板不再起作用....

4 个答案:

答案 0 :(得分:9)

我有同样的问题,但没有任何表格,我找到的是未公开的div标签,删除并解决了我的问题

答案 1 :(得分:1)

问题出在表格中。

我删除了所有表格标签,现在工作正常。

答案 2 :(得分:1)

我也遇到了这个问题,正如Servy所说,问题似乎与表格有关。每页都不一致。

我尝试的第一件事是用NuGet更新AjaxControlToolkit。

就我而言,一个表封装了更新面板。

<table>
   <asp:updatepanel .../>
</table>

我会查看您的控件或页面,并以这种方式检查是否有任何结构被anb更新面板中断。

答案 3 :(得分:0)

试试这个

按下按钮时,ajax会复制一些控件。

ScriptManager.GetCurrent(Page).RegisterPostBackControl(yourcontrol)