从控件中删除除一个项目外的所有项

Lan*_*ric 2 c# controls sharepoint-2010

我目前有一个Sharepoint 2010包含多个标签的Web部件.我想以编程方式删除除这些标签之外的所有标签.

我尝试了下面的代码,但得到了一个,System.InvalidOperationException因为很明显,在迭代它时,无法修改集合.但是,我不知道怎么试试这个.

    private void clearLabels()
    {
        foreach (Control cont in this.Controls)
            if (cont is Label && cont.ID != "error")
                this.Controls.Remove(cont);
    }
Run Code Online (Sandbox Code Playgroud)

I a*_*ica 5

向后迭代它.

for(int i = this.Controls.Count - 1; i >= 0; i--)
{
    if (this.Controls[i] is Label && this.Controls[i].ID != "error")
    {
        this.Controls.Remove(this.Controls[i]);
    }
}
Run Code Online (Sandbox Code Playgroud)