1

为什么每次单击按钮时,该label字段总是显示“GOOD”。

<%@ Page Language="C#" %>

<!DOCTYPE html>

<script runat="server">
    void Validate(Object obj, ServerValidateEventArgs args)
    {
        args.IsValid = false;
    }

    void click(Object obj, EventArgs args)
    {
        if (Page.IsValid)
        {
            label.Text = "GOOD";
        }
        else
        {
            label.Text = "FALSE";
        }
    }
</script>

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
        <asp:Label           runat="server" Text="Please input a name" />
        <asp:TextBox         runat="server" ID="input"/>
        <asp:CustomValidator runat="server" ID="validator" ControlToValidate="input" OnServerValidate="Validate"/>
        <asp:Button          runat="server" OnClick="click"/>
        <asp:Label           runat="server" ID="label"/>
    </div>
    </form>
</body>
</html>

但是当我在 中删除ControlToValidate="input"<asp:CustomValidator>,一切正常。

为什么?

4

1 回答 1

1

确保您还为自定义验证器设置了属性 : ValidateEmptyText to True,以防您不想允许相同的情况。

<asp:CustomValidator ValidateEmptyText="True" ...
于 2013-08-14T09:49:14.487 回答