2012-03-14 10 views
0

特定のMasterPageFile値を持つすべての.aspxファイルのパスを取得しようとしています。特定のマスターページを使用してすべてのaspxファイルを取得

ページの指示文でMasterPageFile = "hello.Master"を指定して "hi.aspx"と呼ばれるaspxファイルがあるとします。私はそうのような方法では、反射によってMasterPageFileプロパティから値を取得したい:

GetAllASpxFilesUsingMasterFile("~/hello.Master"); 
> hi.aspx 

Imが使用した問題:

var type = BuildManager.GetCompiledType(path) 
Activator.CreateInstance(type) 

がMasterPageFile-プロパティがnullであるということです。..アイデア?

答えて

1

あなたはコンストラクタを呼び出して、MasterPageFilePropertyがnullである新しいインスタンスを作成しました。コントロールとプロパティをページに設定するために必要なページライフサイクルはありません。

実際のページライフサイクルプロセスを取得するには、ProcessRequest()メソッドを呼び出す必要がありますが、これはまったく推奨されません。

 Type type = BuildManager.GetCompiledType("~/Default.aspx"); 

     Page myPage = (Page)Activator.CreateInstance(type); 

     myPage.ProcessRequest(HttpContext.Current); 
関連する問題