我正在尝试获取具有特定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?
答案 0 :(得分:1)
您刚刚调用了构造函数并创建了一个新实例,这就是为什么MasterPageFileProperty为null。没有涉及页面生命周期,这对于使用控件和属性填充页面是必需的。
要获得实际的页面生命周期过程,您应该调用ProcessRequest()方法,但根本不建议这样做。
Type type = BuildManager.GetCompiledType("~/Default.aspx");
Page myPage = (Page)Activator.CreateInstance(type);
myPage.ProcessRequest(HttpContext.Current);