0

私の質問は非常に基本的なものですが、どういうわけか私のコードが機能していません。テキストボックスのテキスト変更時にラベル値を更新しようとしています。以下は、私が aspx ページに書いている JavaScript コードのサンプルです。

function UpdateDescription(ControlID) {//debugger;
    ControlID = "ctl00_CP_" + ControlID;
    UPCCode = document.getElementById(ControlID).value;
    //alert(UPCCode);
    $.ajax({ type: "POST",                    
        url:"ProductPhotoRequisitions.aspx/GetUPCJSon",
        //data: "{UPC:" + UPCCode + "}",
        data: "UPC=" + UPCCode,
        contentType: "application/json; charset=utf-8",
        dataType: "json",
        success: function (data) {alert(data.d);} 
    }); 
}

同じページのコードビハインドで webmethod を書いていますが、どういうわけかこの関数が呼び出されていません。

[WebMethod]
public string GetUPCJSon(String UPC) 
{ 
    //code to fetch label value
}
4

3 に答える 3

0

返信ありがとうございます。静的は 1 つの問題でしたが、主な問題は、パラメーターに一重引用符が指定されていなかったことです。だったはず

 $.ajax({ type: "POST",                    
        url:"ProductPhotoRequisitions.aspx/GetUPCJSon",
        data: "{'UPC':'" + UPCCode + "'}",
                contentType: "application/json; charset=utf-8",
        dataType: "json",
        success: function (data) {alert(data.d);} 
    }); 
于 2012-05-13T05:35:13.140 に答える
0

WebMethod は静的として宣言する必要があり、[WebMethod] 属性で装飾する必要があります。

[WebMethod]
public static string GetUPCJSon(String UPC) 
{ 
   //code to fetch label value
}

コンテンツ タイプ json はパラメーターを jsonobject として送信するため

$.ajax({ type: "POST",                    
        url:"ProductPhotoRequisitions.aspx/GetUPCJSon",
        data: "{UPC:'" + UPCCode + "'}",
        contentType: "application/json; charset=utf-8",
        dataType: "json",
        success: function (data) {alert(data.d);} 
    }); 
于 2012-05-12T13:21:27.960 に答える
0

JavaScript に問題がなく、メソッドが呼び出されていないことが唯一の問題である場合は、これを試して使用する必要があります。メソッドは静的である必要があります。

 [WebMethod]
 public static string GetUPCJSon(String UPC) 
 { 
    //code to fetch label value
 }
于 2012-05-12T13:22:39.463 に答える