Retrieve Selected Items of an ASP.NET ListBox using LINQ

I had recently written a post on Programmatically Select Multiple Items of an ASP.NET ListBox. A user ‘JukeBox’ mailed back asking me if it was possible to retrieve the selected items of a ListBox using LINQ. Here’s how to do so:

asp:ListBox ID="ListBox1" runat="server" SelectionMode="Multiple">
asp:ListItem Value="One" Selected="True" />
asp:ListItem Value="Two" />
asp:ListItem Value="Three" />
asp:ListItem Value="Four" Selected="True" />
asp:ListItem Value="Five" />
br />
br />
asp:Button ID="btnSel" runat="server" Text="Get Selected"
onclick="btnSel_Click" />


protected void btnSel_Click(object sender, EventArgs e)
var selItems = from ListItem li in ListBox1.Items
where li.Selected == true

Response.Write("Selected Item(s): </br>");
foreach (var item in selItems)
Response.Write(item.ToString() + "</br>");


Protected Sub btnSel_Click(ByVal sender As Object, ByVal e As EventArgs)
Dim selItems = _
From li As ListItem In ListBox1.Items _
Where li.Selected = True _
Select li.Text

Response.Write("Selected Item(s): </br>")
For Each item In selItems
Response.Write(item.ToString() & "</br>")
Next item
End Sub

On clicking the Button, the selected items are fetched as shown below:


About The Author

Suprotim Agarwal
Suprotim Agarwal, Developer Technologies MVP (Microsoft Most Valuable Professional) is the founder and contributor for DevCurry, DotNetCurry and SQLServerCurry. He is the Chief Editor of a Developer Magazine called DNC Magazine. He has also authored two Books - 51 Recipes using jQuery with ASP.NET Controls. and The Absolutely Awesome jQuery CookBook.

Follow him on twitter @suprotimagarwal.

No comments: