1

我有一个自定义用户控件,其中包含一个文本框和一些其他逻辑/控件,包括一个自定义验证器。在 aspx 页面上放置我的自定义控件时,我希望能够通过在 html 中为 OnServerValidate 属性提供一个值,将一个方法附加到控件中的客户验证器。

如何才能做到这一点?我希望能够将验证方法名称作为用户控件的 html 中的属性传递,而不必通过后面的代码附加到自定义验证器的事件。

4

1 回答 1

1

您可以将自定义验证器的事件包装ServerValidate到您自己的事件中,然后在处理程序分配的标记中使用它。在您控制中,所需要的只是正确声明事件:

public event ServerValidateEventHandler ServerValidate
{
    add { this.CustomValidator1.ServerValidate += value; }
    remove { this.CustomValidator1.ServerValidate -= value; }
}

现在在标记中可以注册此事件,同时有效地注册自定义验证器的事件:

<yourTagPrefix:YourControlName
               OnServerValidate="YourControlName_ServerValidate"
               runat="server"
               ... />
于 2013-02-22T11:07:42.773 回答