Ciao, non ho ben capito se l'update panel lo hai già nella pagina e vuoi aggiungere i controlli al suo interno..
Se questo è lo scenario giusto, cioè una pagina che contiene un up, al cui interno hai per esempio un controllo PlaceHolder, il seguente codice fa quello che ti serve:
Nel PageLoad (o in qualsiasi altro posto avvenga il caricamento dinamico dei controlli.. N.B.: per far si che gli eventi legati ai controlli dinamici siano gestiti, tali controlli vanno ricreati ad ogni caricamento della pagina, anche parziale, nell'evento OnInit possibilmente per questioni di "pipeline" ASP:NET, ma in questo caso può andarbene anche il Page_Load):
Label lbl = new Label();
lbl.ID = "lblMsg";
lbl.Text = "Premi il bottone..";
Button btn = new Button();
btn.ID = "btnTest";
btn.CommandArgument = "Ciao, sono
dinamico";
btn.Text = "Premi qui";
// Lego all'evento click del bottone il metodo di gestione in
modo dinamico
btn.Command += new CommandEventHandler(btn_Command);
// Inserisco i controlli dinamicamente nel placeholder
contenuto nell’update panel
PlaceHolder1.Controls.Add(btn);
PlaceHolder1.Controls.Add(lbl);
A questo punto non resta che aggiungere il codice per il gestore d'evento che verrà chiamato al click del bottone, il quale essendo all'interno di un Update Panel non provocherà il postback della pagina ma l'aggiornamento del solo contenuto dell'Update Panel..
void btn_Command(object sender, CommandEventArgs
e)
{
// Recuper il
riferimento alla Label caricata dinamicamente nel PlaceHolder
Label lbl = PlaceHolder1.FindControl("lblMsg") as
Label;
if (lbl != null)
lbl.Text = e.CommandArgument.ToString();
}Ciao