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