在ASP.NET Web表单中比较并从列表框中删除项目

时间:2019-04-14 07:34:18

标签: c# asp.net listbox

我在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); 

            }

我在图像enter image description here上显示错误消息

我只是想将ListBox2与ListBox1进行比较,并从ListBox1中删除匹配的ListBox2值。

我尝试了不同的变化,但我不断收到类似的错误,否则它将无法正常工作。

ListBox将ProjectName显示为文本,将ProjectID显示为Listbox值

我正在.net Framework 4.5上使用asp.net Webform应用程序

2 个答案:

答案 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);
                    }
                }

            }
        }