使用特定的母版页获取所有aspx文件

时间:2012-03-14 10:24:02

标签: asp.net reflection

我正在尝试获取具有特定MasterPageFile值的所有.aspx文件的路径。

假设我在页面指令中有一个名为“hi.aspx”的aspx文件,其中MasterPageFile =“hello.Master”。我希望通过反射从MasterPageFile属性获取值,方法如下:

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

我使用的问题:

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

是MasterPageFile属性为null .. ideas?

1 个答案:

答案 0 :(得分:1)

您刚刚调用了构造函数并创建了一个新实例,这就是为什么MasterPageFileProperty为null。没有涉及页面生命周期,这对于使用控件和属性填充页面是必需的。

要获得实际的页面生命周期过程,您应该调用ProcessRequest()方法,但根本不建议这样做。

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

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

        myPage.ProcessRequest(HttpContext.Current);