2009-06-01 7 views
1

Gibt es eine Möglichkeit, mehrere Anforderungen an die Rückruffunktion in asp.net zu stellen, wenn Sie den ICallbackEventHandler verwenden? Ich brauche die Ergebnisse für jedes Ergebnis, aber wenn ich die Funktion iteriere und aufruft, bekomme ich das Ergebnis nur für den letzten Aufruf. Gibt es eine Möglichkeit, ein Ergebnis für jeden Anruf zurückzugeben?Behandeln Sie mehrere Anfragen mit ICallbackEventHandler

Dies ist, was ich in über Javascript bin vorbei:

function NoPostback() { 
     $(".spans").each(function(index, item) { 
      CallServer($(item).attr("myattr")); 
     }); 
    } 

Dabei ist myattr ein benutzerdefiniertes Attribut, das einen Wert (1..10) hält. Was ich zurückgeben möchte, ist etwas wie ('Sie sagten:' + id), das für jeden der Anrufe zurückgegeben wird, damit ich fortfahren und sie in die entsprechenden Halter setzen kann.

Es wird jedoch nur ein Element zurückgegeben, das als letzter Aufruf ausgeführt wird. Zum Beispiel, wenn es 4 Elemente gibt, gibt es nur zurück ('Sie sagten: 4').

Irgendeine Idee, wie man alle von ihnen zurückbringt?

Vielen Dank im Voraus.

Antwort

1

Die meisten Javascript AJAX-Frameworks brechen alle nachfolgenden Anforderungen ab, wenn eine gerade ausgeführt wird, oder sie ignorieren vorherige Anfragen und behandeln nur die neuesten. Die AJAX-Anforderung selbst wird das XmlHttpRequest-Objekt des Browsers durchlaufen, der Rest des JavaScript-Codes wird jedoch im Seiten-Thread ausgeführt. Momentan gibt es keine gleichzeitige Programmierung mit Javascript (dies ist jedoch slated to change.)