Asp.net 服务器控件创建子元素

Asp.net 服务器控件创建子元素,asp.net,custom-server-controls,servercontrol,Asp.net,Custom Server Controls,Servercontrol,我想知道如何为服务器控件创建子元素,是否有关于此的文档或教程,例如 <myMenu:Menu id="Menu1" runat="server"> <myMenu:MenuItem Text="Some Text" Link="www.msdn.com"> // <-- // ^-- Theis part how do you create child controls collection </myMenu:MenuItem>

我想知道如何为服务器控件创建子元素,是否有关于此的文档或教程,例如

<myMenu:Menu id="Menu1" runat="server">
    <myMenu:MenuItem Text="Some Text" Link="www.msdn.com"> // <--
    // ^-- Theis part how do you create child controls collection
    </myMenu:MenuItem>
</myMenu:Menu>


namespace ControlsBook2Lib.Ch08
{
[DefaultProperty("Text")]
[ToolboxData("<{0}:Menu runat=server></{0}:Menu>")]
public class Menu : WebControl
{
    protected override void RenderChildren(HtmlTextWriter writer)
    {
        base.RenderChildren(writer);
    }
}

[ToolboxData("<{0}:MenuItem runat=server></{0}:MneuItem>")] <-- this part is wrong I know
public class MenuItem : WebControl
{
    protected override void Render(HtmlTextWriter writer)
    {
        base.Render(writer);
    }
}
}  


//您需要在父控件中公开一个包含子项集合的属性-注意,子类型不必是控件(它可以是常规类)


请参阅描述如何开发此类服务器控件的部分-请参阅示例控件保存contact类集合的位置。您还有一个开发集合编辑器的示例,以提供编辑集合编辑器的UI。

似乎传递到
ToolboxData
属性的标记的结束标记中有一个输入错误。它应该是
而不是