如何创建具有集合的控件

本文关键字:集合 控件 何创建 创建 | 更新日期: 2023-09-27 17:56:25

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

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

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

我必须做什么才能创建标记,就像这样...

<MyStuff:MyControl runat="server" ID="MyControl1">
  <Items>
    <MySubItem ... />
    <MySubItem ... />
  </Items>
</MyStuff:MyControl>
抱歉,如果

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

--斯图尔特

如何创建具有集合的控件

您需要在属性上应用 DesignerSerializationVisibilityAttribute 以及 PersistenceModeAttribute。假设它是一个 ASP.NET 控件。

这就是它的样子——

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

有关详细示例,请参阅 MSDN:Web 控件集合属性示例。

您可能正在寻找模板化控件 http://msdn.microsoft.com/en-us/library/aa478964.aspx