Коллекция элементов управления ASP.NET Get Page во время разработки - PullRequest
1 голос
/ 26 января 2012

Пытаясь захватить HTML-код из Web.UI.Page во время разработки (в UITypeEditor) с помощью метода RenderControl, я заметил, что отображаются только серверные элементы управления.

Итак, учитывая этоСтраница 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'.Голова и все элементы в форме игнорируются.

Я решил посмотреть на дерево элементов управления для страницы во время разработки, и вот что я получил:

Page
 Label
 MyControl
 Button
 HtmlForm
  LiteralControl

Вот как это выглядит во время выполнения:

webform1_aspx
 LiteralControl
 HtmlHead
  HtmlTitle
 LiteralControl
 HtmlForm
  LiteralControl
  Label
  LiteralControl
  MyControl
  LiteralControl
  Button
  LiteralControl
 LiteralControl

Есть идеи, что здесь происходит?

...