マスターページから継承されたページ上のすべてのコントロールに対して操作を実行しようとしています。子ページ コントロールにアクセスする方法がわかりません。私は次のように自分のコントロールに再帰的にアクセスしようとしました:
private void checkControls(ControlCollection controlcollection)
{
foreach (Control control in controlcollection)
{
if (control.Controls.Count > 0)
{
Debug.WriteLine(control.GetType().ToString());
checkControls(control.Controls);
}
else
{
Debug.WriteLine(control.GetType().ToString());
}
}
メソッドは次のように呼び出されます。
protected void resettodefault()
{
checkControls(this.Page.Controls);
}
ただし、この実行から出力されるコントロールは次のとおりです。
ASP.site_master
System.Web.UI.LiteralControl
コントロールに (再帰なしで) 直接アクセスしたいと思います。それ以外の場合、再帰を変更して目的のページのコントロールに到達するにはどうすればよいですか?