Récupérer l'ID d'un control créé dynamiquement lors du chargement du UserControl
1 réponse
Thibault
Bonjour à tous,
J'ai créé un UserControl dans lequel je crée dynamiquement différents
controls (un Label myLabel, un dropdownlist myddlLAN_LANGUES, un textbox
myTextbox et un autre dropdownlist myddlLAN_NIVEAU).
le control myddlLAN_LANGUES a la propriété AutoPostBack à True
le control myTextbox a la propriété Visible à False par défaut
Au chargement du UserControl je lui demande qu'il me crée un certain nombre
de fois tout ces controls.
J'aimerais que lorsque je sélectionne la valeur "Autres" dans ma
dropdownlist myddlLAN_LANGUES cela m'affiche mon textbox correspondant en
changeant la valeur de la propriété Visible à True.
Le seul soucis s'est que je ne vois pas comment récupérer l'ID du textbox a
affciher. :-((((
Est ce que quelqu'un aurait une idée sur comment faire ???
Voici mon code :
Public Class UCLangues
Inherits System.Web.UI.UserControl
Dim myLabel As Label
Dim myTextbox As TextBox
Dim myddlLAN_LANGUES As DropDownList
Protected WithEvents PlaceHolderLangue As
System.Web.UI.WebControls.PlaceHolder
Dim myddlLAN_NIVEAU As DropDownList
Private Sub Page_Load(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles MyBase.Load
'Placez ici le code utilisateur pour initialiser la page
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Zazar
Bonjour,
J'ai créé un UserControl dans lequel je crée dynamiquement différents controls (un Label myLabel, un dropdownlist myddlLAN_LANGUES, un textbox myTextbox et un autre dropdownlist myddlLAN_NIVEAU). le control myddlLAN_LANGUES a la propriété AutoPostBack à True le control myTextbox a la propriété Visible à False par défaut Au chargement du UserControl je lui demande qu'il me crée un certain nombre de fois tout ces controls. J'aimerais que lorsque je sélectionne la valeur "Autres" dans ma dropdownlist myddlLAN_LANGUES cela m'affiche mon textbox correspondant en changeant la valeur de la propriété Visible à True. Le seul soucis s'est que je ne vois pas comment récupérer l'ID du textbox a affciher. :-((((
Vous n'avez pas à connaître l'ID du contrôle si vous faîtes ça coté serveur, il vous suffit de conserver une référence vers votre textbox. Sinon, l'ID est accessible via la propriété du même nom, ou par ClientId si vous voulez l'ID coté client.
<snip code>
Le problème de votre code est que vous créez plusieurs objets TextBox et que vous n'avez qu'une seule variable myTextBox. Celle-ci contient donc une référence vers le dernier TextBox que vous avez créé. Pour contourner ce problème, vous pouvez utiliser un tableau par exemple.
-- Zazar
Bonjour,
J'ai créé un UserControl dans lequel je crée dynamiquement différents
controls (un Label myLabel, un dropdownlist myddlLAN_LANGUES, un
textbox myTextbox et un autre dropdownlist myddlLAN_NIVEAU).
le control myddlLAN_LANGUES a la propriété AutoPostBack à True
le control myTextbox a la propriété Visible à False par défaut
Au chargement du UserControl je lui demande qu'il me crée un certain
nombre de fois tout ces controls.
J'aimerais que lorsque je sélectionne la valeur "Autres" dans ma
dropdownlist myddlLAN_LANGUES cela m'affiche mon textbox
correspondant en changeant la valeur de la propriété Visible à True.
Le seul soucis s'est que je ne vois pas comment récupérer l'ID du
textbox a affciher. :-((((
Vous n'avez pas à connaître l'ID du contrôle si vous faîtes ça coté serveur,
il vous suffit de conserver une référence vers votre textbox. Sinon, l'ID
est accessible via la propriété du même nom, ou par ClientId si vous voulez
l'ID coté client.
<snip code>
Le problème de votre code est que vous créez plusieurs objets TextBox et que
vous n'avez qu'une seule variable myTextBox. Celle-ci contient donc une
référence vers le dernier TextBox que vous avez créé. Pour contourner ce
problème, vous pouvez utiliser un tableau par exemple.
J'ai créé un UserControl dans lequel je crée dynamiquement différents controls (un Label myLabel, un dropdownlist myddlLAN_LANGUES, un textbox myTextbox et un autre dropdownlist myddlLAN_NIVEAU). le control myddlLAN_LANGUES a la propriété AutoPostBack à True le control myTextbox a la propriété Visible à False par défaut Au chargement du UserControl je lui demande qu'il me crée un certain nombre de fois tout ces controls. J'aimerais que lorsque je sélectionne la valeur "Autres" dans ma dropdownlist myddlLAN_LANGUES cela m'affiche mon textbox correspondant en changeant la valeur de la propriété Visible à True. Le seul soucis s'est que je ne vois pas comment récupérer l'ID du textbox a affciher. :-((((
Vous n'avez pas à connaître l'ID du contrôle si vous faîtes ça coté serveur, il vous suffit de conserver une référence vers votre textbox. Sinon, l'ID est accessible via la propriété du même nom, ou par ClientId si vous voulez l'ID coté client.
<snip code>
Le problème de votre code est que vous créez plusieurs objets TextBox et que vous n'avez qu'une seule variable myTextBox. Celle-ci contient donc une référence vers le dernier TextBox que vous avez créé. Pour contourner ce problème, vous pouvez utiliser un tableau par exemple.