.FindControl renvoie toujours null

J'ai deux méthodes. La première crée un tableau dynamiquement, et j'ajoute que le tableau dans un espace Réservé.

private void generateData(){
    Table tbl = new Table();
    tbl.ID = "table1";
    holder_info.Controls.Add(tbl);
    //...adding tr's and td's....
    //...adding CheckBox in tds....
}

Si je ne .FindControl("...") à l'intérieur de cette méthode, je peux trouver le contrôle à l'aide:

CheckBox check = (CheckBox)holder_info.FindControl("checkbox1");

C'est OK, mais pas ce que je prétends.

Dans la deuxième méthode, je veux vérifier si l'utilisateur a coché la case et fait quelque chose, mais je ne trouve pas le contrôle (il renvoie toujours null).

protected void saveInfo_Click(object sender, ImageClickEventArgs e)
{
  CheckBox check = (CheckBox)holder_info.FindControl("checkbox1");
  if(check.checked){ ... }
}

Aussi, si j'essaie de trouver le contrôle "table1", j'obtiens la valeur null.

Pourquoi cela se produit?

OriginalL'auteur oteal | 2012-08-22