Textbox créé dynamiquement

zoum2000 Messages postés 5 Date d'inscription mardi 13 janvier 2004 Statut Membre Dernière intervention 30 août 2006 - 20 juil. 2006 à 14:09
keikun59 Messages postés 73 Date d'inscription mardi 15 mars 2005 Statut Membre Dernière intervention 18 novembre 2010 - 20 juil. 2006 à 14:45
 Bad Brown Fox speaking.

Bonjour à tous,

J'ai généré des textboxs dynamiques (id inclus) en fonction du nombre de ligne retournée par ma requête SQL que je retourne dans un PlaceHolder.

for(int i=0; i < ParamByProg.Count; i++)
   {
       System.Web.UI.WebControls.TextBox myParamTextbox = new System.Web.UI.WebControls.TextBox();    
       System.Web.UI.WebControls.Table myParamTable = new System.Web.UI.WebControls.Table();


       myParamTextbox.ID = String.Format("TxtbParam{0}", i);
       PLHParam.Controls.Add(myParamTextbox);
   }

Suite à cela, je veux que lorsque je cliques sur un bouton, je veux récupérer mes valeurs saisies dans mes textboxs dans une autre page.


private
void BTNLance_Click(
object sender, System.EventArgs e)
{
   PLHParam.FindControl();   <===============================Comment lui donner l'id de contrôle dynamique  et récupérer la valeur de la textbox
   Response.Redirect("Traitement.aspx");
}

Un grand merci a qui peut m'aider. Ca fait un moment que je bloque la dessus.

Merci.

2 réponses

jesusonline Messages postés 6814 Date d'inscription dimanche 15 décembre 2002 Statut Membre Dernière intervention 13 octobre 2010 29
20 juil. 2006 à 14:32
Bonjour,

comme repeté plusieurs fois sur ce forum il faut ajouter les controles dynamiques dans le page_init sinon ca ne marchera pas !

pour récuperer les ID tu fais tout simplement plhhParam.FindControl("TxtbParam1") par exemple ...

<hr />Cyril - MVS - MCP
0
keikun59 Messages postés 73 Date d'inscription mardi 15 mars 2005 Statut Membre Dernière intervention 18 novembre 2010 1
20 juil. 2006 à 14:45
Tu peux passer par un repeater.

protected void ListeAmis_ItemsDataBound(object sender, RepeaterItemEventArgs e)
{
TextBox Email = (TextBox)e.Item.FindControl("TextBoxEmail");
TextBox Nom = (TextBox)e.Item.FindControl("TextBoxPrenomNom");

Ami tmpAmi = (Ami)e.Item.DataItem;

Email.Text = tmpAmi.Email;
Nom.Text = tmpAmi.PrenomNom;
}

Suite à une action sur un bouton, tu fais ceci pour récupérer les valeurs :

foreach (RepeaterItem tmpAmi in ListeAmis.Items)
{
TextBox Email = (TextBox)tmpAmi.FindControl("TextBoxEmail");
TextBox Nom = (TextBox)tmpAmi.FindControl("TextBoxPrenomNom");
}
0
Rejoignez-nous