我再次尝试联系asp.net专家,并希望得到答复。我真的卡在这里,请求帮助。希望我的问题不会被投票下降,我可以从技术角度得到答案,而不是人们对我的方法简单地进行评判。
之前我发布过以下问题: asp.net将asp.net页面转换为页面变量 然后我看了以下网页,但仍然对我没有用。 使用System.Reflection加载ASP.NET 2.0 aspx页面? 在我的web应用程序中,我想能够引用代码中的任何地方的Web页面,如“WebForm1.aspx”,并获取该页面上的控件列表。请只从这个角度考虑它,而不要过度分析它。这可能吗?
在我的Page变量p中,似乎没有WebForm1.aspx的任何控件。
这是我的代码。
请帮忙。
之前我发布过以下问题: asp.net将asp.net页面转换为页面变量 然后我看了以下网页,但仍然对我没有用。 使用System.Reflection加载ASP.NET 2.0 aspx页面? 在我的web应用程序中,我想能够引用代码中的任何地方的Web页面,如“WebForm1.aspx”,并获取该页面上的控件列表。请只从这个角度考虑它,而不要过度分析它。这可能吗?
在我的Page变量p中,似乎没有WebForm1.aspx的任何控件。
这是我的代码。
请帮忙。
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/>");
string[] folders = filepath.Split('\\');
string filename = folders[folders.Count() - 1];
string fullpath = "~/" + filename;
Page p = BuildManager.CreateInstanceFromVirtualPath("~/"+fullpath, typeof(Page)) as Page;
List<String> controlList = new List<String>();
ResourceManager.AddControls(p.Controls, controlList);
foreach (string str in controlList)
{
Response.Write(str + "<br/>");
}
}
}