2012-05-12 14 views
0

私の質問は非常に基本的ですが、どういうわけか私のコードは動作していません。 テキストボックステキストの変更時にラベル値を更新しようとしています。以下は私のaspxページに書いているJavaScriptコードのサンプルです。Webメソッドからajaxを使用してデータを取得するASP.net

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);} 
    }); 
} 

私は、同じページの分離コードでWebメソッドを書いていますが、どういうわけか、この関数は呼び出されていません。

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

GetUPCJSon Webメソッドのコードを追加できますか? – gdp

答えて

0

としてパラメータを送信するので

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

また、このチュートリアル[リンク](http://encosia.com/using-jquery-to-directly-call-aspnet-ajax-page-methods/) – hjgraca

0

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

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

使いのブラウザではJavaScriptがokですし、あなたの唯一の問題は、あなたがしようとすると、これを使用する必要があります呼び出されていない方法であれば、この方法は静的である必要がある場合は、コンテンツタイプの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);} 
    }); 
0

返信いただきありがとうございます。 Staticは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);} 
    }); 
関連する問題