2012-05-05 5 views
7

i ont un contrôle CheckBoxListcomment obtenir les éléments sélectionnés compte dans asp: CheckBoxList

<asp:CheckBoxList ID="chkselectedItems" Font-Size="12px" runat="server"> 
</asp:CheckBoxList> 

et je créé listitems sur elle dynamically.If j'ai vérifié plus d'un élément de la liste des cases à cocher, comment je trouve sélectionné nombre d'éléments à l'aide de asp.net

merci

+0

double possible http: //stackoverflow.com/questions/3770874/how-to-return-selected-items-from-checkboxlist-control-in-asp-net, http://stackoverflow.com/questions/395454/how-to-loop- thru-a-checkboxlist-and-to-find-whats-checked-and-not-check –

Répondre

6

Modifier

int numSelected = 0; 
foreach (ListItem li in chkselectedItems.Items) 
{ 
if (li.Selected) 
{ 
numSelected = numSelected + 1; 
} 
} 
Response.Write("Total Number Of CheckBoxes Selected:"); 
Response.Write(numSelected); 

pré

public string[] CheckboxListSelections(System.Web.UI.WebControls.CheckBoxList list) 
{ 
ArrayList values = new ArrayList(); 
for(int counter = 0; counter < list.Items.Count; counter++) 
{ 
    if(list.Items[counter].Selected) 
    { 
    values.Add(list.Items[counter].Value); 
    }  
} 
return (String[]) values.ToArray(typeof(string)); 
} 
+0

est-il possible d'obtenir le nombre exact? – ranjenanil

+0

@ranjenanil - cela vous donnera le compte exact .... –

+0

@ pranay.avez-vous réponse précédente s'il vous plaît? – ranjenanil

3

Nous itérer le CheckBoxList et utiliser une variable de compteur pour compter les éléments sélectionnés. Pour chaque élément de CheckBoxList nous ajouterons 1 pour contrer SelCount variable si option est cochée

int selCount = 0; 

for(int i= 0; i< chklst.Items.Count; i++) 
    if(chklst.Items[i].Selected) 
     selCount++; 

// Maintenant SelCount contiendra le nombre d'éléments sélectionnés

28

Utilisez cette ligne de code:

int selectedCount = chkselectedItems.Items.Cast<ListItem>().Count(li => li.Selected); 
+0

Vraiment génial ... Merci beaucoup :);) –

0

LINQ

var count= chkmenuitemdef.Items.Cast<ListItem>().Where(c => c.Selected).Count(); 
Questions connexes