0

我在删除列表时遇到问题。

想象一下这样的 2 条记录。

项目 1:ID = 1001,名称 =“A”,依赖关系 = 1,订单 = 1.00

项目 2:ID = 2354,名称 =“B”,依赖 = 1,订单 = 1.01

它们通过依赖关系以某种方式链接在一起,网页中的视觉效果就像一个元素嵌套在另一个元素中。我一直在尝试在前端删除此记录。数据库级别没问题。这件事是为了避免我用来从我的集合中删除元素并进行数据绑定刷新的数据库往返。但是现在,我的元素嵌套了,我不知道必须这样做。

我匆忙尝试了这个,没有看到列表修改的问题。

        this.Entity.Items.Remove(this.CurrentItem);
        foreach(Item item in this.Entity.Items)
        {
            if(item.Dependency == this.CurrentItem.Depedency){
                this.Entity.Items.Remove(item);
            }
        }
        myRepeater.DataSource = this.Entity.Items
        myRepeater.DataBind();

然后我做了

        this.Entity.Items.ToList().RemoveAll(x => x.Depedency == this.CurrentItem.Dependency);
        myRepeater.DataSource = this.Entity.Items
        myRepeater.DataBind();

但是 ToList() 重新创建了一个新列表,这不会删除同一列表中的任何内容 Items 是实体内的集合(列表)

请不要修改实体结构或数据库。

4

1 回答 1

1

您可以使用 for 循环而不是 for each。

另外,你可以试试

myRepeater.DataSource = this.Entity.Items.ToList().RemoveAll(x => x.Depedency == this.CurrentItem.Dependency);
于 2013-07-21T06:29:22.707 回答