我有一个基于Panel
的自定义控件。它只是一个带有3个DropDownLists的简单面板。如果我向我的WebForm添加CompareValidator
并将ControlToValidate
属性设置为我的自定义控件的ID,则会出现以下错误:
Control '{0}' referenced by the ControlToValidate property of '{1}' cannot be validated.
我理解为什么,CompareValidator无法明智地验证Panel
的任何内容。那么我需要添加到自定义控件中以使验证器能够对其进行验证呢?
我尝试在我的Panel中添加Text
属性,该属性返回3个DropDownLists的Text属性的组合。没有用。
我尝试查找可验证控件(ITextControl
)实现的某些接口(TextBox
),并将它们添加到我的自定义控件中。没有用。
如何基于Panel进行自定义控件,可以通过常规的.net验证器进行验证? (RequiredFieldValidator,CompareValidator等)
答案 0 :(得分:5)
如果您还没有,则需要将ValidationProperty
属性添加到您的类中,以便它知道要用于验证的属性:
[ValidationProperty("Text")]
[ToolboxData("<{0}:YourCustomControl runat=server></{0}:YourCustomControl>")]
public class YourCustomControl : WebControl
...