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 のプロパティ : も設定してください。True

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