C# 获取以编程方式创建的页面的ASP.NET源代码表示形式

C# 获取以编程方式创建的页面的ASP.NET源代码表示形式,c#,asp.net,C#,Asp.net,我正在为ASP页面创建页面生成器。它接受XML输入,然后将其转换为ASPX表示 在转换过程中,我使用了一些代码 var page = new Page(); var pnlUpdate = new UpdatePanel(); page.Controls.Add(pnlUpdate); 理论上,它应该创建这样的ASP文件 <% Page ...> .... .... <asp:UpdatePanel> </asp:UpdatePanel> .... ..

我正在为ASP页面创建页面生成器。它接受XML输入,然后将其转换为ASPX表示

在转换过程中,我使用了一些代码

var page = new Page();
var pnlUpdate = new UpdatePanel();
page.Controls.Add(pnlUpdate);
理论上,它应该创建这样的ASP文件

<% Page ...>
....
....
<asp:UpdatePanel>
</asp:UpdatePanel>

....
....

如何获取以编程方式创建的页面对象的源表示形式?使用筛选器或捕获HttpRespose输出会得到解析的HTML输出,而不是ASP输出。

据我所知,.Net Framework中没有任何代码可以将控件树转换为APSX页面

通过遍历控件树并在运行时生成ASPX,您可以编写自己的版本(特别是当您拥有非常有限的一组允许的控件/属性时)。请注意,您需要知道从默认值更改了哪些属性


直接从XML到ASPX可能会更容易,甚至可以使用XSLT转换来实现这一点。

为什么要这样做?我认为最好先将其生成为页面,而不是使用XmlWriter,有没有更好的方法?同样,为什么要这样创建页面?你打算用它做什么?我的公司有一些彼此相似的页面,大多数都是数据库中CRUD表的页面。与其创建新页面、重写CRUD代码、搜索、显示数据、创建接口,不如创建一个小而短的xml文件,定义生成其aspx表示和从信息模式收集数据库资源所需的内容。但您不需要创建.aspx。使用XML生成所需的控件。否。需要aspx标记。