CheckBoxList类上是否有属性或方法将返回表示所有选定索引的int数组?这是在ASP.NET中。
答案 0 :(得分:1)
您可以创建一个扩展方法来模拟您想要的行为。这样做的好处是可以在任何列表控件上重复使用它。下面是一个粗略的例子(我只是返回值的字符串列表,你可以返回任何东西,索引,值,整个列表项等)。
public static List<string> SelectedValues(this ListControl lst)
{
List<string> returnLst = new List<string>();
foreach (ListItem li in lst.Items)
{
if (li.Selected == true)
{
returnLst.Add(li.Value);
}
return returnLst;
}
答案 1 :(得分:1)
根据MSDN documentation,似乎并不存在。您必须自己迭代这些项目。
这是一种方法。它迭代每个项目,检查它是否被选中,然后将索引添加到列表中。我使用列表是因为列表是可变的而数组不是。然后返回一个数组,我只需在列表中调用public int[] selectedIndexesOfCheckBoxList(CheckBoxList chkList)
{
List<int> selectedIndexes = new List<int>();
foreach (ListItem item in chkList.Items)
{
if (item.Selected)
{
selectedIndexes.Add(chkList.Items.IndexOf(item));
}
}
return selectedIndexes.ToArray();
}
。
{{1}}