تقریبا!
من یک کنترل آکاردیون دارم که دارای ساختاری شبه زیر است:
<Common:HomeAccordion runat="server">
<Common:HomeAccordionPane runat="server" HeaderText="Pane #1">
<Common:HomeAccordionItem runat="server" Text="Item #1"/>
<Common:HomeAccordionItem runat="server" Text="Item #1"/>
</Common:HomeAccordionPane>
<Common:HomeAccordionPane runat="server" HeaderText="Pane #2">
<Common:HomeAccordionItem runat="server" Text="Item #1"/>
<Common:HomeAccordionItem runat="server" Text="Item #1"/>
</Common:HomeAccordionPane>
</Common:HomeAccordion>
حال گاهی من از کنترل اصلی AccordionPane ارث برده و کنترل هایی را ایجاد میکنم که به صورت خودکار از سرویسهای امنیتی استفاده کرده و آیتمهای لازم (که کاربر جاری به آنها دسترسی دارد) را اضافه میکنم.
<Common:HomeAccordion runat="server">
<DF:HomeAccordionPaneBasic runat="server" />
<DF:HomeAccordionPaneSystem runat="server" />
<DF:HomeAccordionPaneMyAccount runat="server" />
</Common:HomeAccordion>
گویا این اقلام (که معمولا میتوانند کنترل هم نباشند - چون توسط والد رندر میشوند) جزو درخت صفحه نیستند - استفاده از ParseChildren در کنترل والد اجازه افزودن مجموعه کنترل هایی را میدهد)