Сравнить и удалить элементы из списка в веб-форме asp.net - PullRequest
0 голосов
/ 14 апреля 2019

У меня есть два списка в приложении asp.net webform

LIstBox1 имеет список всех проектов, а ListBox2 назначил проект.

Одна страница Загрузить оба ListBox1 заполнен всеми Project & ListBox2 заполнен назначенным Project, и у меня есть кнопка, которая удалила Assigned 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 и удалить соответствующие значения ListBox2 из ListBox1.

Я пробовал разные варианты, но я получаю похожую ошибку, или она не будет работать.

ListBox показывает ProjectName в качестве текста и ProjectID в качестве значений списка

Я использую веб-приложение asp.net в .net framework 4.5

Ответы [ 2 ]

1 голос
/ 14 апреля 2019

Вы можете просто использовать это:

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

Этот код удаляет все элементы, которые находятся в списке 2

0 голосов
/ 14 апреля 2019

Вот что у меня сработало

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

            }
        }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...