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

22 juin 2010 à 17:49
Merci c'est pile ce qu'il me fallait !

Résolu.


Romain
0