我想要我的自定义控件是一个接口类型的属性。例如:具有属性是一个接口的ASP.NET自定义控件
[
ToolboxData("<{0}:MyTextBox runat=server></{0}:MyTextBox"),
ParseChildren(true, "Validation")
]
class MyTextBox : WebControl
{
[
Category("Behavior"),
Description("The validation to use"),
DesignerSerializationVisibility(DesignerSerializationVisibility.Content),
PersistenceMode(PersistenceMode.InnerDefaultProperty)
]
public IValidation Validation { get; set; }
}
然后,当我去使用我的控制在Web窗体我希望能够做到:
<my:MyTextBox ID="txt" runat="server">
<my:FancyValidator />
</my:MyTextBox>
这样,我就能够定义一个类,可以使用任何数量的验证器。当我尝试,现在做到这一点,我结束了一个错误说:
类型“IValidator”没有名为公共财产“FancyValidator”
什么我需要做的,使这项工作?
谢谢!
没错,我绝对可以走这条路。在同一时间,现在我想弄清楚如何做到这一点:) – Jereme 2010-03-11 20:48:29
我明白 - 只是想我会指出:) – 2010-03-11 20:50:08
作为一个侧面说明,我发现我可以使这项工作,如果我进行验证类型为List的然后标记看起来像这样: <我:MyTextBox ID = “TXT” RUNAT = “服务器”> <我:FancyValidator /> 我的:MyTextBox> 不太我在追求什么。如果一切都失败了,可能不得不随身携带... –
Jereme
2010-03-11 21:14:42