我的 aspx 页面中有一个如下列表框
<asp:ListBox ID="ddlCategory" runat="server" SelectionMode="Multiple" Width="200"
></asp:ListBox>
我已将其与类别数据集绑定。一切正常。现在我想从服务器端的这个列表框中获取所有选定的项目。有很多方法可以实现这些。但我不想迭代每个项目。因为列表项有 1000 个类别。
有什么办法可以做到这一点?
你可以这样实现
var selectedItems = from li in ddlCategory.Items.Cast<ListItem>()
where li.Selected == true
select li;
在这里查看另一种实现方式
http://frazsundal.blogspot.com/2012/05/fetch-aspnet-listbox-control-selected.html
以下是对您有帮助的示例。
Dim lst As New System.Web.UI.WebControls.ListBox
lst.Items.Add(New ListItem("1", 1))
lst.Items.Add(New ListItem("2", 2))
lst.Items.Add(New ListItem("3", 3))
lst.SelectionMode = ListSelectionMode.Multiple
lst.Items(0).Selected = True
lst.Items(2).Selected = True
Dim selectedItems As List(Of ListItem) = (From li In lst.Items.Cast(Of ListItem)() Where li.Selected = True Select li).ToList
您可以获得所选项目的所有索引:
int [] indexes= ListBox1.GetSelectedIndices();
for (int i = 0; i < indexes.Length; i++)
{
// ListBox1.Items[i] ;
}