2011-07-15 2 views
0

J'utilise le contrôle du répéteur pour afficher le questionnaire en ligne à l'utilisateur. Je montre 50 questions à l'utilisateur. Et je donne 4 cases à cocher pour chaque question pour sélectionner la réponse. Maintenant, mon doute est de savoir comment obtenir toutes les 50 options vérifiées par l'utilisateur, et de comparer ces réponses avec la bonne réponse dans mon XML. J'utilise un fichier XML, pas une base de données.Comment obtenir les valeurs du contrôle Répéteur

Quelqu'un peut-il m'aider s'il vous plaît comment réaliser cette fonctionnalité?

+0

Qu'avez-vous essayé? Vous devriez poster un code montrant ce que vous avez jusqu'ici. –

Répondre

0

Vous devez itérer Repeater contrôle, comme ...

if (Repeater1.Items.Count > 0) 
{ 
    for (int count = 0; count < Repeater1.Items.Count; count++) 
    { 
     CheckBox chk = (CheckBox)Repeater1.Items[count].FindControl("CheckBox1"); 
     if (chk.Checked) 
     { 

     } 
    } 
} 
0

Pour avoir accès à Repeater éléments que vous devez utiliser:

repeaterId.Items 

Pour avoir accès à tous les contrôles vérifiés d'un répéteur (qui sont définitivement RadioButton contrôles, comme vous devriez avoir une option par question), vous pouvez utiliser:

foreach (ListViewDataItem item in repeaterId.Items) 
{ 
    // Finding RadioButton controls by Id 
    RadioButton firstOption = ((RadioButton)item.FindControl("firstOption")); 
    RadioButton secondOption = ((RadioButton)item.FindControl("secondOption")); 
    RadioButton thirdOption = ((RadioButton)item.FindControl("thirdOption")); 
    RadioButton fourthOption = ((RadioButton)item.FindControl("fourthOption")); 
    // Here you have four RadioButtones and you should only see which one of them is clicked. Then compare its value to correct value in your XML file. 
} 
+0

ListViewDataItem n'existe que depuis .NET 3.5 et plus. Le type correct pour un élément dans repeater.Items serait RepeaterItem. – SwissCoder

+0

De même, il pourrait être préférable de ne pas transtyper le contrôle en RadioButton, et utilisez plutôt: item.FindControl ("FirstOption") comme RadioButton; – SwissCoder

Questions connexes