可能重复:
Load an ASP.NET 2.0 aspx page using System.Reflection?
在下面的代码中,我遍历我的项目并获取.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 + "<br/>");
Page page = (Page)Convert.ChangeType(filepath, typeof(Page));
}
}
}
答案 0 :(得分:1)
根据您的上一条评论“我正在尝试浏览项目中的所有页面,并通过每个页面识别标签和按钮控件。”所以我认为你需要的是:
这比你试图直接加载.aspx等更好,更干净。