私は、テキストボックス、ドロップダウンリストなど、ページのユーザコントロール内にあるような、自分のコントロールにループすることができるかどうか尋ねたいと思います。シナリオは、私は 'Page.aspx'と呼ばれるページがあると仮定し、私は3つのユーザーコントロールをpage(uc1, uc2 and uc3)
とそれぞれのユーザーコントロールのすべてのこれらのコントロールを含むASPパネル(名前PnlTab1)があります。 私は私のコントロールに到達するためにそのコードを使用しています:マルチユーザーコントロールで、コントロールのループ方法は?
UserControl uc1, uc2, uc3;
uc1 = usercontrol1;
uc2 = usercontrol2;
uc3 = usercontrol3;
foreach (Control c in uc1.FindControl("PnlTab1").Controls)
{
if (c is TextBox)
((TextBox)c).Enabled = true;
}
foreach (Control c in uc2.FindControl("PnlTab1").Controls)
{
if (c is TextBox)
((TextBox)c).Enabled = true;
}
foreach (Control c in uc3.FindControl("PnlTab1").Controls)
{
if (c is TextBox)
((TextBox)c).Enabled = true;
}
は今、私は毎回「foreach (Control c in uc3.FindControl("PnlTab1").Controls
」を書きたくはありません。再帰的に行うことはできますか?
ありがとうございました!
あなたの答え、Tim、DaveとTheGeekYouNeedに感謝します。 – enginbilici
ユーザーコントロールを配列として宣言することはできません。私はこれを試してみると非常に多くのエラーが発生します。残念ながら、私は自分のプログラムにリモートで接続しており、接続に問題があります。私は明日これをもう一度試みます。あなたの答えのTimに感謝します。 – enginbilici
申し訳ありませんが、私はそこに戻りました。この新しい構文は正しいはずです。 – Dave