Aufrufen VB.NET WebMethod-Funktion von Javascript
Habe ich eine VB.NET Funktion die wie folgt aussieht:
<WebMethod()> _
Public Shared Function AuthenticateUser(ByVal UserInfo As String, ByVal Password As String) As Boolean
Dim UserName As String
'Just in case
AuthenticateUser = False
'Extract the user name from the user info cookie string
UserName = Globals.GetValueFromVBCookie("UserName", UserInfo)
'Now validate the user
If Globals.ValidateActiveDirectoryLogin("Backoffice", UserName, Password) Then
AuthenticateUser = True
End If
End Function
Ich versuche zu aufrufen von javascript wie diese:
function DeleteBatchJS()
{if (confirm("Delete the ENTIRE batch and all of its contents? ALL work will be lost."))
var authenticated = PageMethods.AuthenticateUser(get_cookie("UserInfo"), prompt("Please enter your password"))
if (authenticated == true)
{{var completed = PageMethods.DeleteBatchJSWM(get_cookie("UserInfo"));
window.location = "BatchOperations.aspx";
alert("Batch Deleted.");}}}
Ruft es die Funktion, aber nicht einen Wert zurückgeben. Wenn man durch den code, meine VB-Funktion wird ausgelöst (es wird true zurück, solange das richtige Kennwort eingegeben wurde), aber javascript 'authentifiziert' Wert bleibt 'undefined'. Es ist wie Sie nicht mehr zurück können Werte von VB-Funktionen in javascript.
Ich habe auch versucht
if PageMethods.AuthenticateUser("UserName", "Password")
{
//Stuff
}
Aber noch kein Glück.
Was mache ich falsch?
Dank,
Jason
Können Sie jQuery verwenden ?
side note, würde ich nie - Eingabeaufforderung für ein Passwort wie.
die Passwort-Codierung ist es der Einfachheit halber. Der code ist ein wenig komplizierter
side note, würde ich nie - Eingabeaufforderung für ein Passwort wie.
die Passwort-Codierung ist es der Einfachheit halber. Der code ist ein wenig komplizierter
InformationsquelleAutor | 2011-07-12
Du musst angemeldet sein, um einen Kommentar abzugeben.
Web-Methoden aufgerufen werden, die per AJAX, also asynchron, D. H. Sie müssen warten, bis die Methode abgeschlossen ist, vor der Einnahme die Ergebnisse, d.h. Sie müssen den Erfolg Rückrufe:
ich denke, Sie sind fehlt
.d
die möglicherweise OPs echtes problem.Nein, es gibt keine
.d
. Dies ist, wenn Sie verbrauchen PageMethods mit jQuery. Die ASP.NET automatisch generierte Funktionen, die es automatisch entfernen.das wusste ich nicht. vielen Dank 🙂
Es funktioniert genau 1/2 der Zeit. In der Regel nach dem 4. oder 5 aufeinander folgenden versuchen, es zu arbeiten beginnt (für 4 oder 5 mal, wenn es startet nicht wieder funktioniert).
InformationsquelleAutor Darin Dimitrov