转移asp.net子控件

时间:2009-12-14 01:57:52

标签: asp.net controls composite

我正在尝试创建一个asp.net自定义控件,作为任何其他控件的托管容器,类似于现有的“Panel”控件。基本上,我需要构建一个Web控件,将一组其他控件组合在一起。它将包含标题和正文窗格,类似于桌面应用程序中的普通窗口。标题将包含一些简单的文本和一些JavaScript驱动的代码,用于显示/隐藏正文窗格。正文窗格只容纳任意数量的其他控件。

+------------------------------------------------------+
| User Details                               Show/Hide |
+------------------------------------------------------+
| Name:           [Eric     ]                       |
| Address:        [Some where]                         |
| Date of Birth:  [01/01/1980]                         |
|                                                      |
| (any other fields goes on)                           |
|                                                      |
|                                                      |
+------------------------------------------------------+    

理想情况下,我想创建一个将整个事物打包在一起的控件,因此在设计时我可以使用以下标记。

<myCtl:SuperContainer runat=”server” Title=”User Details”>
    <asp:label id=”lblName” runat=”server” text=”Name:”/>
    <asp:textbox id=”txtName” runat=”server”/>
    <asp:label id=”lblDOB” runat=”server” text=”Date of Birth:”/>
    <asp:textbox id=”txtDOB” runat=”server”/>
    (…other controls definition…)
</myCtl:SuperContainer>

我打算在我的控件中包含两个面板,一个用于标题,另一个用于正文,但正如您所看到的,关键问题是找到一种方法来“转移”在其中定义的子控件​​。标记到主体面板,而不是默认的父容器。我觉得可以简单地覆盖(操纵)控件属性,但不知道如何正确地执行此操作。

任何人都可以对如何实现这个'SuperContainer'控件有所了解吗?

非常感谢,

Eric

1 个答案:

答案 0 :(得分:0)