1

私はVisual Studio 2008でasp.netとC#を使用する初心者です

ID = LimitAmount の TextBox があり、DOUBLE タイプの入力を受け入れることになっているため、これを制御するために CompareValidator (CompareValidatorAmount) を作成しました。無効な入力タイプの後に TextBox をクリアしたいと考えています。

ありがとう !

4

3 に答える 3

2

カスタム バリデータを使用します。

  <asp:CustomValidator id="CustomValidator1"
       ControlToValidate="LimitAmount"
       OnServerValidate="ServerValidation"
       ErrorMessage="This field requires a number"
       ForeColor="red"
       runat="server"/>         

コードビハインド:

  void ServerValidation(object source, ServerValidateEventArgs args)
  {
     double tmp;
     if(double.TryParse(args.Value, out tmp))
     {
        args.IsValid = true;
     }
     else
     {
        args.IsValid = false;
        LimitAmount.text = string.empty;
     }
  }

必要に応じて、Javascript でこれを検証することもできます。ClientValidationFunction

于 2013-04-18T09:12:40.790 に答える
1

jQuery を使用してみてください:

<table style="width: 100%;">
            <tr>
                <td style="width: 30%;">
                    <asp:TextBox ID="TextBox1" runat="server" onblur="return BtnClick();"></asp:TextBox>
                </td>
                <td style="width: 70%;">
                </td>
            </tr>
            <tr>
                <td>
                    <asp:TextBox ID="TextBox2" runat="server" onblur="return BtnClick();"></asp:TextBox>
                </td>
                <td>
                    <asp:CompareValidator ID="CompareValidator1" runat="server" ErrorMessage="CompareValidator"
                        ControlToCompare="TextBox1" ControlToValidate="TextBox2"></asp:CompareValidator>
                </td>
            </tr>
            <tr>
                <td>
                    <asp:Button ID="Button2" runat="server" Text="Button" OnClientClick="return BtnClick();" />
                </td>
                <td>
                    &nbsp;
                </td>
            </tr>
        </table>

そしてスクリプト

<script type="text/javascript">
    function BtnClick() {
        var val = Page_ClientValidate();
        if (!val) {
            var i = 0;
            for (; i < Page_Validators.length; i++) {
                if (!Page_Validators[i].isvalid) {
                    $("#" + Page_Validators[i].controltovalidate)
                    .val('');
                }
            }
        }
        return val;
    }
</script>
于 2013-04-18T09:23:44.113 に答える
0

これを試してください........検証が呼び出されたとき

LimitAmount.text = string.empty ;
于 2013-04-18T09:03:56.437 に答える