c# - 从控件中删除除一项之外的所有项目

标签 c# sharepoint-2010 controls

我目前有一个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);
    }

最佳答案

向后迭代。

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

关于c# - 从控件中删除除一项之外的所有项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6664562/

相关文章:

SharePoint 2010 REST API JQUery 插入、更新、删除

wpf - 拉伸(stretch)项目以填充 Canvas

java - Java Web 框架世界中的 ASP.NET Login 控件相当于什么?

c# - 我的进程的CPU消耗

c# - 使用反射调用 DLL,但所需的另一个 DLL 抛出异常

powershell - 使用 SharePoint 2010 的 OData API 替换附加文件

ASP.NET 2.0 JQuery AJAX 登录

c# - 将代码移至 viewModel 类绑定(bind)

c# 在 DllImport 中使用 const

shell - 使用Power Shell获取具有页面布局的SharePoint页面列表