在尝试使用RenderControl方法在设计时(在UITypeEditor中)从Web.UI.Page捕获HTML时,我注意到只渲染了服务器控件。
所以,给定这个aspx页面:
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>WebForm1</title>
</head>
<body>
<form id="form1" runat="server">
Some text
<asp:Label runat="server" ID="label1">label1</asp:Label>
<div>
<cc1:MyControl ID="MyControl1" runat="server" BorderStyle="Solid" Height="117px" Width="341px" />
</div>
<div style="margin-top:30px;">
<asp:Button ID="Button1" runat="server" Text="Button" />
</div>
</form>
</body>
</html>
RenderControl方法将呈现&#39; label1&#39;,&#39; MyControl1&#39;和&#39; Button1&#39;。表单中的头部和所有div都被忽略了。
我决定在设计时查看页面的控制树,这就是我得到的:
Page
Label
MyControl
Button
HtmlForm
LiteralControl
这是在运行时的样子:
webform1_aspx
LiteralControl
HtmlHead
HtmlTitle
LiteralControl
HtmlForm
LiteralControl
Label
LiteralControl
MyControl
LiteralControl
Button
LiteralControl
LiteralControl
这里有什么想法吗?