0

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

ありがとう、ラリー

4

1 に答える 1

3

最初にリストを作成する必要はありません。Controls コレクションを反復処理できます。

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

コンストラクターにList<T>aが必要なため、エラーが発生します。IEnumerable<T>あなたのコレクションはそのインターフェースを実装していません。

また、jrummellが指摘したように、コレクションを破棄した後、コレクションをクリアする必要があります。

于 2012-06-26T16:48:24.817 に答える