代码之家  ›  专栏  ›  技术社区  ›  md1337

如何使用INamingContainer实现自定义面板?

  •  1
  • md1337  · 技术社区  · 14 年前

    我正在尝试实现一个自定义面板控件,作为命名容器。到目前为止,我所做的就是这样。

    首先这是我的自定义控件,我的面板。。。

    [ToolboxData("<{0}:MyPanel runat=server></{0}:MyPanel>")]
    public class MyPanel: Panel, INamingContainer
    {
    }
    

    我试着这样使用它:

    <cc1:MyPanel ID="A" runat="server">
        <asp:HyperLink ID="TestHyperLink" runat="server" />
    </cc1:MyPanel>
    <cc1:MyPanel ID="B" runat="server">
        <asp:HyperLink ID="TestHyperLink" runat="server" />
    </cc1:MyPanel>
    

    The ID 'DocumentHyperLink' is already used by another control.
    

    非常感谢。

    1 回复  |  直到 14 年前
        1
  •  3
  •   kbrimington    14 年前

    听起来您可能受益于模板控件设计,而不是面板设计。下面是一些开始使用模板控件的资源: