Condition IF qui verifie si un string est present dans une list
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:
Code:
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); }
}
} |
La deuxieme sert a verifier si la personne as bien remplit tout les champs
Code:
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:
Code:
else if (((c1.GetType() == typeof(Label)) && (c1.ID != "LBL_titleinfocomp")))
A la base je n'avais qu'un seul LBL que je ne devait pas "vider" alors je l'ai exclu dans la condition.
Le probleme maintenant c'est que j'ai plusieurs label à exclure et j'ai pas envie de faire un truc sale du genre
Code:
else if (((c1.GetType() == typeof(Label)) && (c1.ID != "LBL_titleinfocomp") && (c1.id != "blabla") x 10))
Alors je pensais a faire une list avec tous les String des LBL à exclure
style:
Code:
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"); |
Mais les questions sont:
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:
else if (((c1.GetType() == typeof(Label)) && (c1.ID != de n'importe quel string contenue dans List_exclu_LBL))
Code:
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)
{ |