如何创建具有集合的控件

时间:2011-05-15 21:07:57

标签: c# custom-controls

好的,让我更具体一点。我知道如何使用集合属性创建一个控件,但我从未做过的就是编写一个与之相关的标记。

我想知道的是,给定一个像这样定义的控件......

public class MyControl 
{
    public List<MySubItems> Items {get; set;}
}

我需要做些什么才能创建标记,例如......

<MyStuff:MyControl runat="server" ID="MyControl1">
  <Items>
    <MySubItem ... />
    <MySubItem ... />
  </Items>
</MyStuff:MyControl>

道歉,如果这似乎是一个点头的问题,但我以前从未这样做过。

- 斯图尔特

2 个答案:

答案 0 :(得分:3)

您需要在您的财产上应用DesignerSerializationVisibilityAttributePersistenceModeAttribute。假设它是一个ASP.NET控件。

这就是它的样子 -

public class MyControl:WebControl
{
    [DesignerSerializationVisibility(DesignerSerializationVisibility.Content),
    PersistenceMode(PersistenceMode.InnerDefaultProperty)]
    public List<MySubItems> Items {get; set;}
}

有关详细示例,请参阅MSDN: Web Control Collection Property Example

答案 1 :(得分:1)