2012-05-05 11 views
7

Ho un controllo CheckBoxListelementi come ottenere selezionati contare in asp: CheckBoxList

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

e ho creato ListItems su di esso dynamically.If ho controllato più di una voce dalla lista casella di controllo, come ottenere il selezionato conteggio voce utilizzando asp.net

grazie

+0

possibile http duplicato: //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-checked –

risposta

6

Modifica

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); 

pre

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

c'è qualche possibilità di ottenere il conteggio esatto? – ranjenanil

+0

@ranjenanil - questo ti darà il conteggio esatto .... –

+0

@ pranay..possiamo pubblicare la tua risposta precedente per favore? – ranjenanil

3

Vi scorrere l'CheckBoxList e utilizzare una variabile contatore per contare elementi selezionati. Per ogni elemento in CheckBoxList l'aggiungeremo 1 per contrastare selCount variabile se voce è selezionata

int selCount = 0; 

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

// Ora selCount conterrà il numero di elementi selezionati

28

Utilizzare questa singola riga di codice:

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

Davvero stupendo ... Grazie mille :);) –

0

utilizzando LINQ

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