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

Messages postés
53
Date d'inscription
lundi 29 juin 2009
Statut
Membre
Dernière intervention
21 juillet 2013
- - Dernière réponse : cs_romain117
Messages postés
53
Date d'inscription
lundi 29 juin 2009
Statut
Membre
Dernière intervention
21 juillet 2013
- 22 juin 2010 à 17:49
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
Afficher la suite 

2 réponses

Meilleure réponse
Messages postés
19
Date d'inscription
lundi 21 avril 2008
Statut
Membre
Dernière intervention
2 février 2011
3
Merci
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();

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 139 internautes nous ont dit merci ce mois-ci

Commenter la réponse de Edoth
Messages postés
53
Date d'inscription
lundi 29 juin 2009
Statut
Membre
Dernière intervention
21 juillet 2013
0
Merci
Merci c'est pile ce qu'il me fallait !

Résolu.


Romain
Commenter la réponse de cs_romain117