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: 
I had the same problem but did not have any tables, what I did find were unclosed div tags, removed and fixed my problem
Try this

When you push a button, ajax duplicate some controls.

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

```