asp.net将asp.net页面转换为Page变量

可能重复:
使用System.Reflection加载ASP.NET 2.0 aspx页面?

在下面的代码中,我遍历我的项目并获取.aspx页面的文件路径。 如何将它们转换为Page变量。 我尝试了以下代码,但它无法正常工作。 我收到以下错误消息

Invalid cast from 'System.String' to 'System.Web.UI.Page'. 

请帮我。

谢谢

 protected void Page_Load(object sender, EventArgs e) { string[] filePaths = Directory.GetFiles(Server.MapPath("~/"), "*.*", SearchOption.AllDirectories); foreach (string filepath in filePaths) { if (filepath.EndsWith(".aspx")) { Response.Write(filepath + "
"); Page page = (Page)Convert.ChangeType(filepath, typeof(Page)); } } }

根据您的上一条评论“我正在尝试浏览项目中的所有页面,并通过每个页面识别标签和按钮控件。” 所以我认为你需要的是:

  1. 创建一些所有页面都inheritance的基类
  2. 在基类中加入一些逻辑(可能会覆盖PreRender,不清楚你想用控件做什么)并在那些页面上找到所有控件(Label和Button)(你可能需要实现自定义的FindControl方法,因为在ASP中使用FindControl .NET不是递归的 )。

这比你试图通过直接加载.aspx等更好更干净。