Carico dinamicamente un controllo (ascx) in un placeholder

codice:
            ' Carica la prima riga ordine...
            If phrigaordine.Controls.Count = 0 Then
                Dim ctlrigheord As Control = LoadControl("controls/ctrRigaOrdine.ascx")
                phrigaordine.Controls.Add(ctlrigheord)
                ctlrigheord = Nothing
                lbrighe.Text = "- Righe: <font color=red>" & phrigaordine.Controls.Count & "</font>"
            End If
ora, alla pressione di un tasto eseguo questa routine per aggiungere una riga :

codice:
    Public Sub addRow(ByVal Src As Object, ByVal e As System.Web.UI.ImageClickEventArgs)
        Dim ctlrigheord As Control = LoadControl("controls/ctrRigaOrdine.ascx")
        phrigaordine.Controls.Add(ctlrigheord)
        ctlrigheord = Nothing
        lbrighe.Text = "- Righe: <font color=red>" & phrigaordine.Controls.Count & "</font>"
    End Sub


il controllo ascx è molto semplice ed è una cosa tipo:
codice:
<%@ Control Language="vb" AutoEventWireup="false" %>
     <tr>
        .
        .
        .
     </tr>

Ora, perchè oltre il secondo controllo aggiunto non va ? O meglio, perchè alla seconda pressione del tasto di aggiunta rimpiazza il secondo controllo (l'ultimo quindi) con uno nuovo ?