Quando crei dei controlli da codice devi ricrearli ad ogni postback di pagina. In caso inserisci anche dei valori lo devi fare solo la prima volta che viene richiamata la pagina, e non ai postback. Confuso? 
Da codice è sufficiente:
codice:
sub Page_Load()
dim tuo_webcontrol1 as new TextBox
dim tuo_webcontrol2 as new TextBox
tuo_webcontrol1.ID="tuo_webcontrol1"
tuo_webcontrol2.ID="tuo_webcontrol2"
panel1.Controls.Add(tuo_webcontrol1)
panel1.Controls.Add(tuo_webcontrol2)
if not Page.IsPostBack then
tuo_webcontrol1.Text="valore1"
tuo_webcontrol1.Text="valore2"
end if
end sub
Quindi da codice per riprendere i webcontrol:
codice:
dim tuo_webcontrol1 as TextBox
tuo_webcontrol1=DirectCast(panel1.FindControl("tuo_webcontrol1", TextBox)
tuo_webcontrol2=DirectCast(panel1.FindControl("tuo_webcontrol2", TextBox)
dim valore1 as string=tuo_webcontrol1.Text
dim valore2 as string=tuo_webcontrol2.Text