我想清除并处理asp:panel中的所有组件。我收到错误:
无法从'System.Web.UI.ControlCollection'转换为'System.Collections.Generic.IEnumerable'
继承我的代码:
List<Control> ctrls = new List<Control>(panelLayout.Controls);
panelLayout.Controls.Clear();
foreach (Control control in ctrls)
{
control.Dispose();
}
关于我需要更改的任何想法:List ctrls = new List(panelLayout.Controls);
谢谢,拉里
答案 0 :(得分:3)
您不必先创建列表。您可以迭代您的Controls集合。
foreach (Control control in panelLayout.Controls)
{
control.Dispose();
}
panelLayout.Controls.Clear();
您收到错误是因为List<T>
在其构造函数中需要IEnumerable<T>
。您的收藏集未实现该界面。
此外,你必须在像jrummell指出的那样处理它们之后清除它。