从ASP ListBox获取所有选定的值

我有一个ASP ListBox,其SelectionMode设置为“多个”。 是否有任何方法可以检索所有选定的元素而不仅仅是最后一个元素?

 

使用lstCart.SelectedIndex只返回最后一个元素(如预期的那样)。 有什么东西会让我全部被选中吗?

这是一个Web表单。

您可以使用ListBox.GetSelectedIndices方法并循环结果,然后通过items集合访问每个结果。 或者,您可以遍历所有项目并检查其Selected属性 。

 // GetSelectedIndices foreach (int i in ListBox1.GetSelectedIndices()) { // ListBox1.Items[i] ... } // Items collection foreach (ListItem item in ListBox1.Items) { if (item.Selected) { // item ... } } // LINQ over Items collection (must cast Items) var query = from ListItem item in ListBox1.Items where item.Selected select item; foreach (ListItem item in query) { // item ... } // LINQ lambda syntax var query = ListBox1.Items.Cast().Where(item => item.Selected); 

使用列表框的GetSelectedIndices方法

  List selecteds = listbox_cities.GetSelectedIndices().ToList(); for (int i=0;i 

尝试使用我使用VB.NET创建的代码:

 Public Shared Function getSelectedValuesFromListBox(ByVal objListBox As ListBox) As String Dim listOfIndices As List(Of Integer) = objListBox.GetSelectedIndices().ToList() Dim values As String = String.Empty For Each indice As Integer In listOfIndices values &= "," & objListBox.Items(indice).Value Next indice If Not String.IsNullOrEmpty(values) Then values = values.Substring(1) End If Return values End Function 

我希望它有所帮助。