Récupérer la valeur d'un contrôle

Signaler
Messages postés
2
Date d'inscription
dimanche 7 juin 2009
Statut
Membre
Dernière intervention
9 avril 2010
-
Messages postés
363
Date d'inscription
vendredi 14 février 2003
Statut
Membre
Dernière intervention
20 avril 2010
-
Bonjour,
Comment récupérer par exemple le texte d'un "TextBoxe" affiché dynamiquement sur une page.
NB: le texte est saisie après que la page est chargée.

Merci d'avance

3 réponses

Messages postés
363
Date d'inscription
vendredi 14 février 2003
Statut
Membre
Dernière intervention
20 avril 2010
3
Bonjour,

tu peux parcouris la liste des controles de ton IHM (this.Controls)
jusqu'à retrouver le controle souhaité.
sinon tu peux stocker le/les controle(s) dans une variable/tableau.

PS: le texte est saisie après que la page est chargée << ca semble un peu normal non ?

Cordialement,
Vincent
Messages postés
2
Date d'inscription
dimanche 7 juin 2009
Statut
Membre
Dernière intervention
9 avril 2010

Peut être je me suis mal expliqué.
Voici un exemple de code qui met en évidence ce problème:
le code en soi fonctionne bien. mais je veux modifier le texte de l'élément de saisie "textBoxe" puis pouvoir stocker ce texte une fois je clique sur le bouton actualiser.
Et puisque le textBoxe est chargé dynamiquement, alors je n'y pas accès. enfin pour le moment parce que je ne trouve pas de solution...SOS

// code de la représentation graphique



































// code fonctionel
private TextBox tbDynamic;
protected void btn1_Click(object sender, EventArgs e)
{
string test = (string)Session["Donnee1"];
Label lblDynamic = new Label();
lblDynamic.Width = Unit.Pixel(200);
lblDynamic.Height = Unit.Pixel(15);
lblDynamic.Text = test;
Panel1.Controls.Add(lblDynamic);


}

protected void btn2_Click(object sender, EventArgs e)
{
Label lblDynamic = new Label();
lblDynamic.Width = Unit.Pixel(100);
lblDynamic.Height = Unit.Pixel(15);
lblDynamic.Text = "Dynamic Label :";


tbDynamic = new TextBox();
tbDynamic.ID = "textBoxeId";
tbDynamic.Width = Unit.Pixel(100);
tbDynamic.Height = Unit.Pixel(15);
tbDynamic.Text = "Dynamic textBoxe :";
Session["Donnee1"] = "Dynamic textBoxe :";
Panel1.Controls.Add(lblDynamic);
Panel1.Controls.Add(tbDynamic);

}
Messages postés
363
Date d'inscription
vendredi 14 février 2003
Statut
Membre
Dernière intervention
20 avril 2010
3
pour récupérer la valeur des textbox dans btn1_click()
tu boucles sur les controles de ton panel

Textbox tbx;
foreach(Control ctrl in Panel1.Controls)
{
tbx = ctrl as Textbox;
if (tbx != null) //si le control est un label, alors tbx sera null
{
//faire ce que tu veux pour chaque textbox
}
}

attention ta variable tbDynamic devrait être déclarée dans btn2_click