你如何构建一个集合属性的ASP.NET自定义控件? [英] How do you build an ASP.NET custom control with a collection property?
本文介绍了你如何构建一个集合属性的ASP.NET自定义控件?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我希望做一些类似于
<cstm:MyControl runat="server">
<myItem attr="something" />
<myItem attr="something" />
</cstm:MyControl>
什么是退出这个功能所需要的基本框架code?
What's the bare bones code needed to pull this off?
Rick的例子显示了一个类似于
Rick's example shows something akin to
<cstm:MyControl runat="server">
<myItems>
<cstm:myItem attr="something" />
<cstm:myItem attr="something" />
</myItems>
</cstm:MyControl>
我preFER更简洁的语法如果可能的话。
I'd prefer the more terse syntax if possible.
的注:随意提出一个更好的标题或说明。即使你没有编辑权限,我很高兴来编辑为社会着想的条目。的
推荐答案
下面是一个非常简单的例子控件,不正是你要找的:
Here's a really simple example control that does exactly what you are looking for:
namespace TestControl
{
[ParseChildren(true, DefaultProperty = "Names")]
public class MyControl : Control
{
public MyControl()
{
this.Names = new List<PersonName>();
}
[PersistenceMode(PersistenceMode.InnerDefaultProperty)]
public List<PersonName> Names { get; set; }
}
public class PersonName
{
public string Name { get; set; }
}
}
和,下面是一个例子用法:
And, here is an example usage:
<%@ Register Namespace="TestControl" TagPrefix="TestControl" %>
<TestControl:MyControl runat="server" ID="MyControl1">
<TestControl:PersonName Name="Chris"></TestControl:PersonName>
<TestControl:PersonName Name="John"></TestControl:PersonName>
</TestControl:MyControl>
这篇关于你如何构建一个集合属性的ASP.NET自定义控件?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文