在asp.net webform中比较和删除Listbox中的项目

问题描述 投票:0回答:2

我在asp.net webform应用程序中有两个Listbox

LIstBox1具有所有项目的列表,ListBox2已分配项目。

一个页面加载两个ListBox1都填充了所有Project&ListBox2填充了已分配的Project&我有一个按钮从LIstbox2中删除了Assigned Project

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显示为Text,将ProjectID显示为列表框值

我在.net framework 4.5上使用asp.net webform应用程序

c# asp.net listbox
2个回答
1
投票

你可以简单地使用这个:

itms1.RemoveAll( item => itms2.Contains(item));

此代码删除list2中的所有项目


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

            }
        }
© www.soinside.com 2019 - 2024. All rights reserved.