6

我有一个基于Panel. 它只是一个带有 3 个 DropDownLists 的简单面板。如果我将 a 添加CompareValidator到我的 WebForm 并将ControlToValidate属性设置为我的自定义控件的 ID,我会收到以下错误:

Control '{0}' referenced by the ControlToValidate property of '{1}' cannot be validated.

我理解为什么,CompareValidator 无法明智地验证任何针对Panel. 那么我需要向我的自定义控件添加什么以使验证器能够验证它?

我尝试向Text我的面板添加一个属性,该属性返回 3 个 DropDownLists 的 Text 属性的组合。徒劳无功。

我尝试寻找ITextControl可验证控件 ( TextBox) 实现的某些接口 ( ) 并将它们添加到我的自定义控件中。徒劳无功。

如何使我的基于面板的自定义控件可由常规 .net 验证器验证?(RequiredFieldValidator、CompareValidator 等)

4

1 回答 1

5

如果您还没有它,则需要将该ValidationProperty属性添加到您的类中,以便它知道要使用哪个属性进行验证:

[ValidationProperty("Text")]
[ToolboxData("<{0}:YourCustomControl runat=server></{0}:YourCustomControl>")]
public class YourCustomControl : WebControl
...
于 2012-05-09T17:42:50.293 回答