Question: My code looks like this:

```
    <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>

```

when i click the button, its supposed to add an item fromt he txtIsoDate into the database and refresh the gridview.

it adds fine, but when it comes back it creates another copy of my pnlAddIso.

why is this happening? i'm so confused. please help.

if im my button i write pnlAddIso.visible=false, the new duplicate panel does not appear, but the old one does not work anymore....

Answer: 
The issue was in tables.

I removed all table tags and now it works fine.
Try this

When you push a button, ajax duplicate some controls.

```
ScriptManager.GetCurrent(Page).RegisterPostBackControl(yourcontrol)

```