Take a look at this simple sample :
Here the button code :
Protected Sub btnGetValues_Click(sender As Object, e As EventArgs) Handles btnGetValues.Click
Dim Sb As New System.Text.StringBuilder
'to get al values using linq reaons.items as Listitem which expose selected property and you may filter on this
'property too as per my example
Dim X = (From a As ListItem In reason.Items Where a.Selected = True Select a.Value).ToList
For Each el In X
Sb.Append(el.ToString & "<br/>")
Next
lit1.Text = Sb.ToString
Sb.Clear()
'to get anonymous type with multiples params you may use this:
Dim k = (From a As ListItem In reason.Items Where a.Selected = True Select New With {.Checked = a.Selected, .TextValue = a.Text, .IDValue = a.Value}).ToList
For Each el In k
Sb.Append(String.Format("IsSelected=<b>{0}</b>, TextNameValue=<b>{1}</b>, IntegerValue=<b>{2}</b><br/>", el.Checked, el.TextValue, el.IDValue))
Next
lit2.Text = Sb.ToString
Sb.Clear()
Sb = Nothing
End Sub
if it is exactly what you0re searching for mark as answered