来自UserControl的OnServerValidate

时间:2013-02-22 10:26:09

标签: asp.net validation events

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

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

1 个答案:

答案 0 :(得分:1)

您可以将自定义验证程序的ServerValidate事件包装到您自己的事件中,然后在标记中将其用于处理程序分配。在你控制中,所需要的只是一个适当的事件声明:

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

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

<yourTagPrefix:YourControlName
               OnServerValidate="YourControlName_ServerValidate"
               runat="server"
               ... />