2010-05-28 5 views
4

J'ai une page de recherche qui a 6 zones de texte que je passe en tant que FormCollection à l'action dans le contrôleur. Je ne veux pas rechercher des enregistrements s'il n'y a pas de valeurs dans les zones de texte.Comment faire une boucle dans FormCollection pour vérifier si les zones de texte ont des valeurs?

Existe-t-il un moyen de parcourir toutes les zones de texte dans FormCollection pour vérifier celles qui contiennent des valeurs?

Je suis étudiante au collège et ce projet fait partie de mon programme d'expérience d'été. Je me rends compte que c'est une question de débutant :) Merci!

+0

clé Une réponse complète avec plusieurs méthodes peuvent être trouvées [ici] (http://stackoverflow.com/questions/762825/how-can- a-formcollection-be-énuméré-dans-asp-net-mvc). –

Répondre

9

Vous pouvez boucle à travers le FormCollection comme ceci:

foreach(string key in forms.Keys) 
{ 
    ... 
} 

Cependant, notez que le navigateur vous envoie uniquement les noms et les valeurs. Il ne vous envoie pas les types d'entrées, donc vous n'avez aucun moyen de vérifier si la valeur est une case à cocher, sauf si vous connaissez tous les noms des cases à cocher à l'avance. Mais si c'est le cas, vous n'avez pas besoin de boucler - sortez-les simplement de la collection par leur nom.

2
List<string> list = new List<string>(); 
for(int i= 0; i< form.AllKeys.Count(); ++i) 
{ 
    list.Add(form.Get(i)); 
} 

Cela vous donnera toutes les valeurs réelles pour chaque

Questions connexes