我想知道如何为服务器控件创建子元素,是否有任何文档或教程,例如
<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);
}
}
}
答案 0 :(得分:1)
您需要在包含子项集合的父控件中公开属性 - 请注意,子类型不必是控件(它可以是常规类)。
请参阅描述如何开发此类服务器控件的this MSDN article - 请参阅样本控件包含联系类集合的example。您还有一个开发集合编辑器的示例,以提供用于编辑的UI。