2010-12-28 9 views
8

In asp.net, devo fare un ciclo for e controllare se uno qualsiasi degli elementi è controllato se voglio sapere se uno qualsiasi degli elementi è controllato.come verifichiamo se qualche elemento nella casella di riepilogo è selezionato in asp.net .Net 2.0?

In C#, non v'è sth come ..

listbox.SelectedItems.Count(); 

Qualsiasi metodo simile per asp.net ???

+1

Si dovrebbe davvero impostare [risposta di Daniel] (http://stackoverflow.com/a/6893461/ 429949) come risposta a questa domanda. –

risposta

2

Sembra che dovrai scorrere su di loro.

+1

per quanto riguarda il controllo dell'indice selezionato? se è inferiore a 0, non selezionato. altrimenti è selezionato almeno un elemento. Ma mi chiedo se sia affidabile .. – william

+0

Sì, potresti avere ragione. Non raggiungerebbe ciò che l'OP vuole ottenere. Ma potrebbe essere usato per determinare rapidamente se nulla è selezionato, e in questo caso essere più veloce. –

0

Secondo MSDN e la mia esperienza, è necessario andare oltre tutti gli elementi, per fare questo:

è possibile determinare l'oggetto (s) selezionato nel controllo ListBox enumerando l'insieme di elementi e testare il valore selezionato per ciascun elemento ListItem .

0

Questo potrebbe non essere disponibile in 2.0 sebbene ... ma un'altra opzione è di interrogare la raccolta di articoli con LINQ. Vedere this link per informazioni che

32

si può vedere se qualsiasi elemento è selezionata per il codice qui sotto:

if (listboxname.SelectedIndex == -1) 
     MessageBox.Show("Please select an Item first!"); 
+2

Questo in effetti ti dice se ce ne sono affatto. Potremmo usarlo come assegno. Se ci sono, allora e solo allora, passano attraverso di loro. Ciò farà risparmiare tempo di elaborazione. – Lukas

+0

Questo non ha funzionato se l'utente seleziona solo il primo elemento nell'elenco. – Dan

Problemi correlati