2012-06-26 34 views
0

我想清除和處理一個asp:面板。我收到的錯誤:無法從'System.Web.UI.ControlCollection'轉換爲'System.Collections.Generic.IEnumerable <System.Web.UI.Control>'

無法從 '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);

謝謝Larry

回答

2

您不必首先創建列表。你可以迭代你的Controls集合。

foreach (Control control in panelLayout.Controls) 
{ 
    control.Dispose(); 
} 
panelLayout.Controls.Clear(); 

你得到的錯誤,因爲List<T>預計在其構造IEnumerable<T>。您的收藏不會實現該界面。

此外,你必須清除收集後,你把它們像jrummell指出的。

+1

您可能需要在循環和處置後清除收集。 – jrummell

+0

@ jrummell謝謝 –

相關問題