Comunque il controllo degli UC (aggiunta di uno ad un PH, ad esempio) di solito si fa dalla pagina.
Il trucco sta nel rendere pubblico l'evento click interno allo usercontrol, in modo da poterlo rilevare e gestire dalla pagina. Esempio:
drop.ascx
codice:
<%@ Control Language="VB" AutoEventWireup="false" CodeFile="drop.ascx.vb" Inherits="WebUserControl" %>
<asp: DropDownList Runat="server" ID="ddPersone" AutoPostBack="True">
<asp:listItem>Persona1</asp:listItem>
<asp:listItem>Persona2</asp:listItem>
<asp:listItem>Persona3</asp:listItem>
</asp: DropDownList>
drop.ascx.vb
codice:
Public ReadOnly Property TestoDD() As String
Get
Return ddPersone.SelectedItem.Text.ToString
End Get
End Property
Public Event SceltaCambiata(ByVal s As Object, ByVal e As EventArgs)
Private Sub ddPersone_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles ddPersone.SelectedIndexChanged
RaiseEvent SceltaCambiata(Me, e)
End Sub
Nella pagina che ospita il controllo UC basta poi fare:
codice:
Private Sub istanzaUC_SceltaCambiata(ByVal s As Object, ByVal e As System.EventArgs) Handles istanzaUC.SceltaCambiata
Response.Write("Dalla DROPDOWN nello UC hai scelto il testo: " & istanzaUC.TestoDD.ToString)
End Sub
nel tuo caso invece di una drop ed il suo evento SelectedIndexChanged, c'e' un bottone con il click...(e poi una 'ripulita' dei controlli del placeholder e l'aggiunta del nuovo)