Passing jQuery Objekt und WebMethod Rückgabewert in eine Funktion OnSuccess
-
23-09-2019 - |
Frage
Ich bin ein WebMethod
aus diesem Code aufrufen:
if($(this).attr("checked")) {
..
MyWebMethod(variable1, variable2, onSuccessFunction);
}
Die MyWebMethod
kehrt eine ganze Zahl, und ich möchte Satz $(this).attr("id")
des Objekts jQuery oben auf die zurückgegebene Ganzzahl. Im Grunde genommen, ich versuche das Äquivalent einer MVC Ajax.ActionLink...AjaxOptions {UpdateTargetID =...}
jedoch zu tun, ich kann nicht herausfinden, wie beide zu $(this)
eine Referenz erhalten sowie den zurückgegebenen Wert. Zum Beispiel, wenn ich tun:
MyWebMethod(variable1, variable2, onSuccessFunction($(this)));
Ich kann erfolgreich das jQuery-Objekt, manipulieren, aber offensichtlich ist es nicht den Rückgabewert aus der MyWebMethod
hat. Alternativ hat der erste Codeblock mit einer Methodensignatur von onSuccessFunction(returnValue)
den richtigen Rückgabewert von MyWebMethod
, aber kein Konzept der jQuery-Objekt Ich suche. Bin ich über das alles falsch gehen?
Lösung
Ich weiß nicht genau, was die onSuccessFunction in Ihrem ersten Beispiel Parameter erwartet, aber so etwas wie dies sein wird, was Sie suchen.
if($(this).attr("checked")) {
var el = $(this);
MyWebMethod(variable1, variable2, function(x, y z) { onSuccessFunction(x, y, z, el); });
}
** Update ** Es wurde ein "dieses" Scoping Problem zu vermeiden.