Associer un string à un nom de contrôle de type textbox [Résolu]

Signaler
Messages postés
53
Date d'inscription
lundi 29 juin 2009
Statut
Membre
Dernière intervention
21 juillet 2013
-
Messages postés
53
Date d'inscription
lundi 29 juin 2009
Statut
Membre
Dernière intervention
21 juillet 2013
-
Bonjour,

Je crée une application avec des contrôles dynamiques (contrôles de type textbox par exemple).
Ces contrôles sont dynamiques car il sont fonction des langues que l'utilisateur choisit.

Ainsi on pourra avoir des textbox nommées tb_fr, tb_en, tb_es...
Parallèlement, j'ai un tableau tab qui contient les langues "fr", "en", "es"...

Pour accéder au contrôle textbox, je voudrais faire :
 for (int j = 0; j < i; j++)
 {
    Response.Write((tb_+tab[j]).Text)
 }


Mais ça ne marche pas !

J'ai essayé
string.Concat("tb_",tab[j].ToString());


Alors là, j'ai bien le nom du contrôle tb_fr par exemple, mais c'est une chaîne de caractère ! Comment faire comprendre au programme que c'est un nom de contrôle ?? Est-ce qu'un simple cast pourrait marcher ?


Merci d'avance pour votre aide.



Romain

2 réponses

Messages postés
19
Date d'inscription
lundi 21 avril 2008
Statut
Membre
Dernière intervention
2 février 2011

essaye :
((TextBox)this.FindControl("tb_" + tab[J].ToString())


sinon pour récupérer juste le "fr", "en", "es"...
tu peux utiliser la fonction split :

string lang = tb_fr.ID.Split('_')[1].Trim();
Messages postés
53
Date d'inscription
lundi 29 juin 2009
Statut
Membre
Dernière intervention
21 juillet 2013

Merci c'est pile ce qu'il me fallait !

Résolu.


Romain