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 メソッドは、「label1」、「MyControl1」、および「Button1」をレンダリングします。フォーム内の head とすべての div はすべて無視されます。
設計時にページのコントロール ツリーを確認することにしたところ、次のような結果が得られました。
Page
Label
MyControl
Button
HtmlForm
LiteralControl
これは実行時にどのように見えるかです:
webform1_aspx
LiteralControl
HtmlHead
HtmlTitle
LiteralControl
HtmlForm
LiteralControl
Label
LiteralControl
MyControl
LiteralControl
Button
LiteralControl
LiteralControl
ここで何が起こっているのですか?