使用ajax从webmethod ASP.net检索数据
我知道我的问题很基本,但不知为什么我的代码不起作用。 我正在尝试更新文本框文本更改上的标签值。下面是我在我的aspx页面上编写的javascript代码示例使用ajax从webmethod ASP.net检索数据,asp.net,ajax,json,Asp.net,Ajax,Json,我知道我的问题很基本,但不知为什么我的代码不起作用。 我正在尝试更新文本框文本更改上的标签值。下面是我在我的aspx页面上编写的javascript代码示例 function UpdateDescription(ControlID) {//debugger; ControlID = "ctl00_CP_" + ControlID; UPCCode = document.getElementById(ControlID).value; //alert(UPCCode);
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);}
});
}
我在同一页的codebehind中编写webmethod,但不知怎么的,这个函数没有被调用
[WebMethod]
public string GetUPCJSon(String UPC)
{
//code to fetch label value
}
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);}
});
如果您的javascript是正常的,并且如果您唯一的问题是没有调用该方法,那么您应该尝试使用该方法,该方法应该是静态的
[WebMethod]
public static string GetUPCJSon(String UPC)
{
//code to fetch label value
}
谢谢你的回复。静态是一个问题,但主要问题是没有为参数提供单引号。应该是的
$.ajax({ type: "POST",
url:"ProductPhotoRequisitions.aspx/GetUPCJSon",
data: "{'UPC':'" + UPCCode + "'}",
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (data) {alert(data.d);}
});
另外,请检查本教程。是否可以为GetUPCJSon web方法添加代码?