1

まあ、フォームを送信するために PageMethod で jquery ajax を使用していますが、私のフォームには asp.net バリデータ、ajax があり、pageMethod から値を返すことは問題ありませんが、バリデータはもう機能していません。ここに私のコードがあります

    <script type="text/javascript">
    $(document).ready(function () {

        // Add the page method call as an onclick handler for the div.
        $("#Label1").click(function () {
            $.ajax({
                type: "POST",
                url: "Default.aspx/GetDate",
                data: "{}",
                contentType: "application/json; charset=utf-8",
                dataType: "json",
                success: function (msg) {
                    // Replace the div's content with the page method's return.

                    $("#Label2").text(msg.d.b);
                    if (!msg.d.b) {
                        $("#Label1").hide();
                    }
                }
            });
        });
    });


</script>

コードビハインドは次のようなものです

 [WebMethod]
public static object GetDate()
{

    SqlConnection con = new SqlConnection();
    con.ConnectionString = "Data Source=ad;Initial Catalog=Test;Integrated Security=True";
    string query="insert into test(name,family) values('mehdi','jabbari')";
    con.Open();
    SqlCommand cmd = new SqlCommand(query,con);
    cmd.ExecuteNonQuery();
    con.Close();
    return new{

       b=false
    };
}

ありがとうございました

4

1 に答える 1

0

通常の方法で送信しようとすると、asp.net のクライアント検証が呼び出されます。ajax送信検証を行うと、自動的に呼び出されないため、ajax呼び出しを開始する前に手動で行う必要があります:

      $("#Label1").click(function () {
          if(Page_ClientValidate()) {
               $.ajax({
                   type: "POST",
                   url: "Default.aspx/GetDate",
                   data: "{}",
                   contentType: "application/json; charset=utf-8",
                   dataType: "json",
                   success: function (msg) {
                        // Replace the div's content with the page method's return.

                        $("#Label2").text(msg.d.b);
                        if (!msg.d.b) {
                            $("#Label1").hide();
                        }
                    }
                });
            }
        });

Page_ClientValidate (リンクは私が最初に見つけたもので、便利なもののように思えます) は、ページを検証する ASP.NET の機能です。パラメーターとして検証グループを渡すことができます:Page_ClientValidate('validation_group_name')指定された検証グループ セットを持つコントロールのグループのみを検証します。

于 2012-10-02T21:56:38.127 に答える