繁体   English   中英

PageMethod的onSuccess函数未达到

[英]PageMethod's onSuccess function not reached

我正在开发一个asp.net Web表单应用程序。 在客户端,我有一个javascript for循环,它在后面的代码中调用PageMethod。 如果PageMethod成功执行,则必须执行其他javascript功能,例如更新标签的值。 问题是当for循环运行并调用PageMethod时,它永远不会转到onSuccess方法。 循环将继续并结束。 我想知道如何在每次PageMethod调用之后调用onSuccess方法,然后循环继续进行下一次迭代。 以下是我的代码段。

for (var i = 0; i < data.length; i++) {
    var dataItem = datata[i];
    var name = dataItem.name;
    if (name !== null && name !== '') {
        PageMethods.ProcessName(name, onSuccess);
        function onSuccess(result) {
            if (result == "") {
                // code to populate a label with the value of name 
                // in each iteration
            }                       
        }
    }
}

您可以尝试在调用ProcessName()之前移动onSuccess函数。 您甚至可以将其移动到本地变量,如下所示:

var onSuccess = function(result) {
    if (result == "") {
        //code to populate a label
    }                       
}
PageMethods.ProcessName(name, onSuccess);

或者您可以将匿名函数直接传递给PageMethods.ProcessName()如下所示:

PageMethods.ProcessName(name, function(result) {
    if (result == "") {
        //code to populate a label
    }                       
});

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM