ASP.NET自定义控件,模板字段可以有属性吗?
例如:
<uc:AdmiralAckbar runat="server" id="myCustomControl">
<Warning SomeAttribute="It's A Trap">
My Data
</Warning>
</uc:AdmiralAckbar>
我不知道如何添加 SomeAttribute。有什么想法吗?
没有该属性的代码是:
private ITemplate warning = null;
[TemplateContainer(typeof(INamingContainer))]
[PersistenceMode(PersistenceMode.InnerProperty)]
public ITemplate Warning
{
get
{
return warning;
}
set
{
warning = value;
}
}
For example:
<uc:AdmiralAckbar runat="server" id="myCustomControl">
<Warning SomeAttribute="It's A Trap">
My Data
</Warning>
</uc:AdmiralAckbar>
I'm not sure how to add SomeAttribute. Any ideas?
Code without the attribute is:
private ITemplate warning = null;
[TemplateContainer(typeof(INamingContainer))]
[PersistenceMode(PersistenceMode.InnerProperty)]
public ITemplate Warning
{
get
{
return warning;
}
set
{
warning = value;
}
}
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
答案是肯定的。
为此,您应该创建一个实现
ITemplate
接口的类型,并在其中添加一个/多个自定义属性(我在示例中添加了属性Name
);还添加一个继承自Collection
的类。这是一个这样做的示例:
以及一个控件本身:
最后是一个用法示例:
顺便说一句,您也可以将其用作:
效果将是相同的。
The answer is yes.
For this you should create a type which implements
ITemplate
interface and add a custom property/properties there (I added propertyName
in my example); also add a class which inherits fromCollection<YourTemplate>
.Here is an example of doing that:
and a control itself:
and finally an example of usage:
BTW, you could also use it as:
the effect will be the same.