OVH Cloud OVH Cloud

fonction Eval de Javascript en c# ?

3 réponses
Avatar
Christelle Perthus
J'ai chercher dans tous les sens un moyen de compiler une chaine de
caractères qui représente le nom d'un contrôle (ex : "CheckBox1") afin de
récupérer une de ses propriétés. Dans le cas d'un "TextBox" je me suis
débrouillée avec Request["TextBox"+"1"], ça me retounre "TextBox1.Text"
Est-ce que quelqu'un a une fonction toute prête ?
Merci.

3 réponses

Avatar
Zazar
Bonjour,

J'ai chercher dans tous les sens un moyen de compiler une chaine de
caractères qui représente le nom d'un contrôle (ex : "CheckBox1") afin de
récupérer une de ses propriétés. Dans le cas d'un "TextBox" je me suis
débrouillée avec Request["TextBox"+"1"], ça me retounre "TextBox1.Text"
Est-ce que quelqu'un a une fonction toute prête ?
Merci.



Vous pouvez utiliser Control.FindControl().

--
Zazar
Avatar
Christelle Perthus
Merci beaucoup,
ca fonctionne suivi d'un petit "Cast" :

//'Textbox
TextBox myControl = (TextBox)FindControl(strNomDuControl);
if (myControl!=null) {strTempValue = myControl.Text;}

//'RadioButtonList
RadioButtonList myControl = (RadioButtonList)FindControl(strNomDuControl);
if (myControl!=null) {strTempValue = myControl.SelectedValue.ToString();}

//'CheckBox
CheckBox myControl = (CheckBox)FindControl(strNomDuControl);
if (myControl!=null)
{if (myControl.Checked) {....;}}



"Zazar" a écrit dans le message
de news:%
Bonjour,

> J'ai chercher dans tous les sens un moyen de compiler une chaine de
> caractères qui représente le nom d'un contrôle (ex : "CheckBox1") afin


de
> récupérer une de ses propriétés. Dans le cas d'un "TextBox" je me suis
> débrouillée avec Request["TextBox"+"1"], ça me retounre "TextBox1.Text"
> Est-ce que quelqu'un a une fonction toute prête ?
> Merci.

Vous pouvez utiliser Control.FindControl().

--
Zazar




Avatar
Zazar
Bonjour,

Merci beaucoup,
ca fonctionne suivi d'un petit "Cast" :



C'est le gros problème en effet, mais je vois difficielement comment où
pourrait avoir une méthode détectant les erreurs à la compilation.


//'Textbox
TextBox myControl = (TextBox)FindControl(strNomDuControl);
if (myControl!=null) {strTempValue = myControl.Text;}



Vous devriez préfèrer l'opérateur as à un cast dans cette situation :
TextBox myControl = FindControl(strNomDuControl) as TextBox;
En effet, si le contrôle que vous recherchez n'est pas une TextBox, vous
allez avoir une exception qui va être levée.

--
Zazar