aspパネル内にあるaspテーブル内にコントロールを動的に作成しました。
tblDynamicRecPatrn
はaspテーブルで、pnlRecPatrn
はパネルです。asp テーブルはパネル内にあり、テーブル内は動的に作成されたコントロールです。
コントロールをループするために次のコードを実行しましたが、動的に作成されたコントロールが見つかりません。
for (int i = 0; i < tblDynamicRecPatrn.Controls.Count; i++)
{
if (tblDynamicRecPatrn.Controls[i].GetType() == typeof(RadioButton))
{
RadioButton rb = new RadioButton();
rb = (RadioButton)tblDynamicRecPatrn.Controls[i];
}
}
上記のコードはtblDynamicRecPatrn.Controls.Count
2 を返し、これtblDynamicRecPatrn.Controls[i].GetType()
はテーブルとリテラルでした。
tblDynamicRecPatrn
コードをに置き換えpnlRecPatrn
たところ、カウントが 3 になり、そのうちの 2 つがリテラル、1 つがテーブルになりました。
foreach (Control control in Controls)
代わりに、動的コントロールを見つけることができるよりもループする場合
動的に作成されたコントロールを見つけることができない理由を誰かが理解するのを手伝ってくれますか?