【发布时间】:2015-10-03 10:49:57
【问题描述】:
我有一个更新面板,我需要删除我动态添加的所有控件,以便我可以在 AsyncPostBack 上重新添加它们。每次我尝试这样做时,都会收到一条错误消息,指出“集合已修改;枚举操作可能无法执行”。然而,下面是我用来尝试删除 LiteralControls 的代码;一旦我弄清楚问题,我将不得不删除其他类型。有人有吗
foreach(Control xxl in UpdatePanel1.ContentTemplateContainer.Controls.OfType<Control>())
{
Label2.Text = Label2.Text + xxl.GetType();
foreach (LiteralControl lc in UpdatePanel1.ContentTemplateContainer.Controls.OfType<LiteralControl>())
{
LiteralControl myLit = (LiteralControl)lc;
UpdatePanel1.ContentTemplateContainer.Controls.Remove(myLit);
UpdatePanel1.Update();
}
}
【问题讨论】:
-
不要做foreach,做for,有索引,倒数
-
如果您在枚举循环时删除项目,您将收到异常。
标签: c# asp.net asynchronous