我在asp.net网络表单应用程序中有两个列表框
LIstBox1具有所有项目的列表,而ListBox2已分配了项目。
一页加载全部ListBox1和所有Project,ListBox2和分配的Project,我有一个按钮,它从LIstbox2中删除了分配的项目
var itms1 = ListBox1.Items;
var itms2 = ListBox2.Items;
foreach (var itm in itms2)
{
if (itms1.Contains(itm)) itms1.Items.Remove(itm);
}
我只是想将ListBox2与ListBox1进行比较,并从ListBox1中删除匹配的ListBox2值。
我尝试了不同的变化,但我不断收到类似的错误,否则它将无法正常工作。
ListBox将ProjectName显示为文本,将ProjectID显示为Listbox值
我正在.net Framework 4.5上使用asp.net Webform应用程序
答案 0 :(得分:0)
您可以简单地使用它:
itms1.RemoveAll( item => itms2.Contains(item));
此代码将删除list2中的所有项目
答案 1 :(得分:0)
这是对我有用的
foreach (ListItem itemA in LisyBox2.Items)
{
for (int i = ListBox1.Items.Count - 1; i > -1; i--)
{
{
if (ListBox1.Items[i].Text == itemA.Text)
{
ListBox1.Items.RemoveAt(i);
}
}
}
}