我知道我的问题非常基本,但不知怎的,我的代码无效。 我正在尝试更新文本框文本更改的标签值。下面是我在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);}
});
}
我在同一页面的代码隐藏中编写web方法,但不知道这个函数没有被调用。
[WebMethod]
public string GetUPCJSon(String UPC)
{
//code to fetch label value
}
答案 0 :(得分:0)
WebMethod必须声明为static,并且必须使用[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);}
});
答案 1 :(得分:0)
如果你的javascript没问题,如果你唯一的问题是没有被调用的方法你应该尝试使用它,方法应该是静态的
[WebMethod]
public static string GetUPCJSon(String UPC)
{
//code to fetch label value
}
答案 2 :(得分:0)
感谢您的回复。静态是一个问题,但主要问题是没有为参数提供单引号。应该是
$.ajax({ type: "POST",
url:"ProductPhotoRequisitions.aspx/GetUPCJSon",
data: "{'UPC':'" + UPCCode + "'}",
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (data) {alert(data.d);}
});