Bonsoir !
Voici un problème qui doit être récurrent mais après moult recherche sur le net, m'être basé sur un code que j'ai écrit et qui ressemble beaucoup je n'arrive pas à lire les valeurs d'un de mes UserControl.
Je vais essayer d'expliquer mon cas :
J'ai une pages PointDeControle.aspx qui contient un panel 'Var_controle' dans lequel je stocke des VariablesControles.ascx
// Chargement
Je vous passe le détail d'Init_ChargeControle
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 protected void Var_controle_Init(object sender, EventArgs e) { Init_ChargeControle(); }
du côté du UserControl :
Fonction qui me permet d'alimenter la variable qui stocke moult infos
// Alimentation des différents labels et textbox du usercontrol
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 public void Init(T_ETAT_VARIABLE_CONTROLE _etat_variable_controle) { etat_variable_controle = _etat_variable_controle; }
Mon UserControl contient une Dropdownlist et un textbox dont j'aimerais récupérer la valeur (les deux éléments sont à autopostback = false), dans ma page aspx au moment ou je clique que le bouton OK j'appel le code suivant
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24 protected override void OnInit(EventArgs e) { if (!IsPostBack) { //etat_variable_controle = _etat_variable_controle; this.txt_etapegestion.Text = etat_variable_controle.T_REFERENTIEL_VARIABLE_CONTROLE.RVC_TXT_ETAPE_GESTION; this.txt_objetcontrole.Text = etat_variable_controle.T_REFERENTIEL_VARIABLE_CONTROLE.RVC_TXT_OBJET; this.txt_mesure_controle.Text = etat_variable_controle.T_REFERENTIEL_VARIABLE_CONTROLE.T_TYPE_MESURE.TYM_TXT_LIBELLE; this.DDl_resultat.DataSource = ControleInterne.data.Dal.PointControleDal.Get_T_VALEUR_MESUREs_By_ETAT_VARIABLE_CONTROLE(etat_variable_controle); this.DDl_resultat.DataTextField = "VAM_TXT_LIBELLE"; this.DDl_resultat.DataValueField = "VAM_INT_ID"; this.DDl_resultat.DataBind(); this.txt_commentaire.Text = etat_variable_controle.EVC_TXT_COMMENTAIRE; if (etat_variable_controle.EVC_INT_ID_VALEUR_MESURE != null) { int idvaleurmesure = int.Parse(etat_variable_controle.EVC_INT_ID_VALEUR_MESURE.ToString()); this.DDl_resultat.SelectedValue = idvaleurmesure.ToString(); } } base.OnInit(e); }
Mon souci est si je parcours mon panel contenant mes usercontrol il me dit qu'il ne contient plus rien et si je parcours la liste dans laquelle je stocke mes usercontrol, les valeurs this.txt_commentaire.Text et this.DDl_resultat.SelectedValue sont comme au chargement
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 foreach (Control control in Var_controle.Controls) { System.Type type = control.GetType(); if (type.BaseType.FullName == "Controle_Interne.VariableControle") { VariableControle _ctrl = (VariableControle)control; T_ETAT_VARIABLE_CONTROLE etat =_ctrl.Get_etat_variable_controle(); } } // Fonction Get_etat_variable_controle() public T_ETAT_VARIABLE_CONTROLE Get_etat_variable_controle() { this.etat_variable_controle.EVC_INT_ID_VALEUR_MESURE = int.Parse(this.DDl_resultat.SelectedValue); this.etat_variable_controle.EVC_TXT_COMMENTAIRE = this.txt_commentaire.Text; return this.etat_variable_controle; }
Partager