我的aspx页面中有一个列表框如下所示
<asp:ListBox ID="ddlCategory" runat="server" SelectionMode="Multiple" Width="200"
></asp:ListBox>
我已将其与类别数据集绑定。一切正常。现在我想从服务器端的这个列表框中获取所有选定的项目。有很多方法可以实现这些目标。但我不想迭代每个项目。 becoz list item有1000个类别。
有任何方法可以实现这一目标吗?
答案 0 :(得分:4)
你可以像这样实现这个
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
答案 1 :(得分:2)
以下示例示例将为您提供帮助。
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
答案 2 :(得分:0)
您可以获取所选项目的所有索引:
int [] indexes= ListBox1.GetSelectedIndices();
for (int i = 0; i < indexes.Length; i++)
{
// ListBox1.Items[i] ;
}