2011-04-15 71 views
0

我想知道你如何創建一個服務器控件的子元素,是有這個如服務器控件創建子元素

<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

看起來你在傳遞給'ToolboxData'屬性的標記的結束標記中有一個錯字。它應該是''不'''。 – 2012-07-20 08:09:23

回答

1

你需要暴露在父母控制保存集合的屬性的任何文件或教程的子項 - 注意子類型不需要是一個控件(它可以是一個普通類)。

請參閱this MSDN article,其中描述瞭如何開發此類服務器控件 - 請參閱example,其中樣本控件包含聯繫人類的集合。您還可以通過開發集合編輯器來提供用於編輯UI的示例。