Associer un string à un nom de contrôle de type textbox

Résolu
cs_romain117 Messages postés 53 Date d'inscription lundi 29 juin 2009 Statut Membre Dernière intervention 21 juillet 2013 - 17 juin 2010 à 18:19
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

2 réponses

Edoth Messages postés 19 Date d'inscription lundi 21 avril 2008 Statut Membre Dernière intervention 2 février 2011
18 juin 2010 à 14:40
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();
3
cs_romain117 Messages postés 53 Date d'inscription lundi 29 juin 2009 Statut Membre Dernière intervention 21 juillet 2013 1
22 juin 2010 à 17:49
Merci c'est pile ce qu'il me fallait !

Résolu.


Romain
0
Rejoignez-nous