Bonjour je vous expose mon probleme dans son intégralité.
Alors, je developpe une application asp.net/C# pour un Intranet d'entreprise en stage.
J'ai plusieurs Pages qui contiennent differents controls (TextBox,Dropdownlist,Labels)
et a plusieurs moment je souhaite Verifier ou vider tous ces controles (a part des exceptions !)
j'ai donc creer une classe a part nomé GestionControls contenant 2 fonctions:
La 1ere sert à tout nettoyer:
La deuxieme sert a verifier si la personne as bien remplit tout les champs
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 public void ClearControls(Control c) { foreach (Control c1 in c.Controls) { if (c1.GetType() == typeof(TextBox)) { ((TextBox)c1).Text = string.Empty; } else if (c1.GetType() == typeof(DropDownList)) { ((DropDownList)c1).SelectedIndex = 0; } else if (((c1.GetType() == typeof(Label)) && (c1.ID != "LBL_titleinfocomp"))) { ((Label)c1).Text = ""; } if (c1.HasControls()) { ClearControls(c1); } } }
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
25
26
27
28
29
30
31 public bool Formok(Control c) { bool mybool = true; foreach (Control c1 in c.Controls) { if (?????????) { if (c1.GetType() == typeof(TextBox)) { if (((TextBox)c1).Text == "") { mybool = false; ((TextBox)c1).Font.Bold = true; ((TextBox)c1).Text = "Remplir ce champ"; } }else if (c1.GetType() == typeof(DropDownList)) { if (((DropDownList)c1).SelectedIndex == 0) { ((DropDownList)c1).Font.Bold = true; mybool = false; } } } } return mybool; }
Nous voyons dans:
A la base je n'avais qu'un seul LBL que je ne devait pas "vider" alors je l'ai exclu dans la condition.
Code : Sélectionner tout - Visualiser dans une fenêtre à part else if (((c1.GetType() == typeof(Label)) && (c1.ID != "LBL_titleinfocomp")))
Le probleme maintenant c'est que j'ai plusieurs label à exclure et j'ai pas envie de faire un truc sale du genre
Alors je pensais a faire une list avec tous les String des LBL à exclure
Code : Sélectionner tout - Visualiser dans une fenêtre à part else if (((c1.GetType() == typeof(Label)) && (c1.ID != "LBL_titleinfocomp") && (c1.id != "blabla") x 10))
style:
Mais les questions sont:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 List<string> List_exclu_LBL = new List<string>(); List_exclu_LBL.add("LBL_a_exclure_N°1"); List_exclu_LBL.add("LBL_a_exclure_N°2");
1) Ou mettre cette list ? (dans une nouvelle Classe "excludedcontrols") pour la mettre dans une methode et l'appeler dans ma classe de gestion de controls ?
2) Comment former les conditions: Edit: Jsuis bete... (List_Excl_LBL.contains(c1.id) == false) en condition regle mon probleme
Code : Sélectionner tout - Visualiser dans une fenêtre à part else if (((c1.GetType() == typeof(Label)) && (c1.ID != de n'importe quel string contenue dans List_exclu_LBL))
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 foreach (Control c1 in c.Controls) { if (c1.id != de list_exclu_LBL && c1.id != de list_exclu TXTB etc etc etc) {
Partager