ページ上のすべてのコントロールのコレクション (Page.Controls
およびそれらのコントロールの子とその子の子など) を反復処理する場合、コントロールがページのマスター ページからのものかどうかをどのように判断できますか?
以下は機能しているようですが、少し汚れているように感じます。この情報を取得するためのより良い方法はありますか?
更新: 申し訳ありませんが、一部のコードを以前に見逃していました。
List<Control> allControls = GetAllControls(this.Page)
foreach (Control c in allControls)
{
bool isFromMaster = c.NamingContainer.TemplateControl.GetType().BaseType.BaseType == typeof(MasterPage);
}
GetAllControls
ページ上のすべてのコントロールを再帰的に取得する場所
ありがとう