2013-04-11 19 views
5

Ich habe eine ListBox mit Auswahlmodus von mehreren. Im Code dahinter möchte ich einige ausgewählte Werte festlegen. Diese Werte sind in einem ListItems [] mit dem Namen 'Names' vorhanden.Wie legen Sie mehrere Elemente als in ListBox ausgewählt fest?

HTML-Code:

<asp:ListBox ID="lbto" class="chosen" runat="server" Width="450px" 
Height="20px" SelectionMode="Multiple"> 
    <asp:ListItem>Mandy</asp:ListItem> 
    <asp:ListItem>Amit</asp:ListItem> 
    <asp:ListItem>sundar</asp:ListItem> 
    <asp:ListItem>ragu</asp:ListItem> 
    <asp:ListItem>raju</asp:ListItem> 
</asp:ListBox> 

ListItem [] Namen enthält 'ragu' und 'Raju'. Wenn nun die Seite geladen wird, sollte die ListBox'ragu' und 'raju' als ausgewählte Werte enthalten.

Antwort

13

Was ist mit der Einstellung der Selected -Eigenschaft der ListItem?

var names = new List<string>(new string[] { "ragu", "raju" }); 

foreach (var item in lbto.Items) 
{ 
    if (names.Contains(item.Text)) 
     item.Selected = true; 
} 
+0

Ihre Antwort für einzelne listitem richtig ist .. – ragu

+0

Sie können Legen Sie mehr als einen Artikel fest zu 'Selected' mit der oben beschriebenen Methode. Die Antwort wurde aktualisiert. – Carsten

+0

Wenn "lbto" 100 Elemente enthält, werden ganze 100 Elemente geprüft. Wird es mehr Zeit brauchen? – ragu

-1

mit einer Leitung von Linq

lbto.Items.Cast<String>().ForEach(i => i.Selected = names.Contains(i.Text)); 

ODER

lbto.Items.OfType<string>().ForEach(i => i.Selected = names.Contains(i.Text)); 
+1

Ich erhalte eine Fehlermeldung, dass ListItemCollection keine Definition für 'ForEach' und keine Erweiterungsmethode 'ForEach' hat –

+0

Der obige Kommentar ist korrekt; vielleicht versuchen lbto.Items.OfType () ... –

+1

Die Lösung funktioniert nicht. \t \t Ich erhalte eine Fehlermeldung, dass ListItemCollection haben keine Definition für ‚ForEach‘ und keine Erweiterungsmethode ‚ForEach‘ –

1

Sie FindByValue Methode können

foreach (string item in stringList) 
    lbxList.Items.FindByValue(item).Selected = true; 
Verwandte Themen