【问题标题】:Update Panel duplicating my controls更新面板复制我的控件
【发布时间】:2011-02-25 19:40:23
【问题描述】:

我的代码如下所示:

    <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,新的重复面板不会出现,但旧的面板不再起作用....

【问题讨论】:

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


    【解决方案1】:

    我有同样的问题,但没有任何表格,我发现的是未关闭的 div 标签,删除并修复了我的问题

    【讨论】:

    • +1 这也是我的问题:&lt;/span&gt; 后跟五个 &lt;/div&gt;s,所有这些都无与伦比,似乎不知从何而来(我没有肯定把它们放在那里)。他们导致我的GridView 出现两次,具有相同的 id 和所有内容。
    • 非常感谢。这篇文章为我节省了大量的调试时间。
    • 太棒了!我从 2 小时开始就在搜索,然后就可以了。太感谢了! :)
    • 优秀。你节省了我很多时间。我格式化了我的页面,然后发现没有开始标签的
      标签。我刚刚删除了它并解决了我的问题。非常感谢。
    【解决方案2】:

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

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

    在我的例子中,一个表格封装了更新面板。

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

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

    【讨论】:

      【解决方案3】:

      问题出在表格中。

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

      【讨论】:

        【解决方案4】:

        试试这个

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

        ScriptManager.GetCurrent(Page).RegisterPostBackControl(yourcontrol)
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2018-12-23
          • 2010-09-18
          • 1970-01-01
          相关资源
          最近更新 更多