我正在从javascript调用服务器方法。我已经测试了服务器方法,并且可以正常工作。当我从javascript调用服务器方法时,我得到的是不确定的值,而不是true或false。谁能告诉我如何获得正确的价值?
这是我正在调用的javascript方法
function IsElectronic(programId) {
var isElectronic = PageMethods.IsElectronic(programId);
alert(isElectronic); // The alert says undefined
return isElectronic;
}
服务器端调用-此方法正常工作
[System.Web.Services.WebMethod]
public static bool IsElectronic(long programId) {
var taskProcessor = new TaskBL();
var IsElectronic = taskProcessor.GetDelieveryType(programId).ContainsValue("ELECTRONIC");
if (IsElectronic) {
return true;
} else {
return false;
}
}
最佳答案
调用Web服务是异步操作。要获得结果,您必须使用回调。
function IsElectronic(programId) {
PageMethods.IsElectronic(programId, function(result) {
alert(result); // true
});
// you cannot return a value, there isn't one yet
//return isElectronic;
}