Asp.net 未调用CustomValidator

Asp.net 未调用CustomValidator,asp.net,customvalidator,Asp.net,Customvalidator,我有一个用于检查用户名可用性的CustomValidator,但它没有被调用(我还用断点检查了它) 可能是什么问题?将页面发布到服务器时将调用它。e、 g.您有一个asp:按钮,当用户单击该按钮时,页面被发送到服务器,在调用按钮单击事件之前,它调用服务器验证功能。为什么设置Display=“无”。请将其设置为静态。@PraVn我使用的是ValidationSummary控件您可以使用CustomValidator的ClientValidationFunction属性,然后编写一个javascri

我有一个用于检查用户名可用性的CustomValidator,但它没有被调用(我还用断点检查了它)


可能是什么问题?

将页面发布到服务器时将调用它。e、 g.您有一个asp:按钮,当用户单击该按钮时,页面被发送到服务器,在调用按钮单击事件之前,它调用服务器验证功能。

为什么设置Display=“无”。请将其设置为静态。@PraVn我使用的是ValidationSummary控件您可以使用
CustomValidator
ClientValidationFunction
属性,然后编写一个javascript函数在客户端对其进行验证。我了解问题所在,但是否可以像任何其他验证器一样调用它(autopostback)。这可能是不可能的,因为它是服务器端而不是客户端。您到底想做什么?您可以使用javascript进行回发,然后调用验证函数
<asp:CustomValidator ID="usernameC" runat="server" ErrorMessage="Username is already taken" ControlToValidate="txtUsername" Display="None" OnServerValidate="usernameC_ServerValidate" />
protected void usernameC_ServerValidate(object source, ServerValidateEventArgs args)
{
    if (new UsersBL().SearchUserByUsername(args.Value) == null)
        args.IsValid = true;
    else
        args.IsValid = false;
}