B.aspxには、テキストボックスやボタンなどの簡単なWebコントロールが含まれていますが、Webフォームが2つあるとします。A.aspxとB.aspxどのように動的に読み込まれたaspxページのコントロールコレクションにアクセスするには?
私がやろうとしている以下: A.aspxが要求された
、私は動的に呼び出すとBに含まれるすべてのコントロールのメモリおよび出力の詳細にB.aspxをロードする aspx。ここで
は私がA.aspxための分離コードで試したものです:私は上記のコードをしようとすると
var compiledType = BuildManager.GetCompiledType("~/b.aspx");
if (compiledType != null)
{
var pageB = (Page)Activator.CreateInstance(compiledType);
}
foreach (var control in pageB.Controls)
{
//output some details for each control, like it's name and type...
}
、ページBためのコントロールのコレクションは常に空です。
どのように私はこれを動作させることができますか?
他のいくつかの重要な詳細:
- 両方のWebフォームは、マスターページを利用(そうb.aspxでWebコントロールは、実際に「コンテンツ」タグ内に配置されている)
- は私もBuildManager.CreateInstanceFromVirtualPathを使用して試してみました。運がない。
なぜ実行されたページのコントロールコレクションにアクセスしたいですか? –