Wiatm wszystkich

Mam problem jak w temacie. W PHP sprawa jest banalna lecz w ASP.NET urasta do rangi problemu nie do przejścia.
Szukając w internecie podobnych problemów natrafiłem na kilka przykładów jednakże, nie wiedzieć czemu, żadne z rozwiązań u mnie nie zadziałało w sposób przewidywalny i powtarzalny. Może ja czegoś nie rozumiem [???]
Ale dość gadanie. Czas na szczegóły.
Chcę na stronie umieścić pewną, dynamiczną liczbę TextBokx’ów i przycisk.
Po użyciu przycisku pobrać dane z dynamicznego formulaża.
Na stronie mam umieszczony Panel o nazwie Panel1 i Przycisk: Button1.
Wygenerowanie dynamicznej liczby TextBox'ów jest banalna:

private void Page_Load(object sender, System.EventArgs e)
{
    if (!IsPostBack)
    {
        for (int i = 0; i < 10; i++)
        {
            TextBox tb = new TexBox();
            tb.ID = String.Format("textbox{0}",i);
            Panel1.Controls.Add(tb);
        }
    }
}

Natomiast mimo największych chęci nie mogę dobrać się do własność Text wygenerowanych TextBoxów po PostBack ;-(
Niezależnie, w którym miejscu cyklu życia próbuję dobrać się do tych danych ich nie ma.
Próbowałem w:
protected override void OnInit(EventArgs e) ...
protected override void LoadViewState(object savedState) ...
private void Page_Load(object sender, System.EventArgs e) ...
{ if (IsPostBack) ... }
private void Button1_Click(object sender, System.EventArgs e) ...
Wszędzie tam: Panel1.Controls.Count = 1.

Zapewne coś źle robię lub czegoś nie robię ale nie mam pojęcia co [???] :/ :-[ ;-( [glowa]
Pomocy!