簡體   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