У меня есть функция VB.NET, которая выглядит следующим образом:
<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
Я пытаюсь вызвать его из JavaScript следующим образом:
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.");}}}
Вызывает функцию, но не возвращает значение. При просмотре кода моя функция VB срабатывает (она будет возвращать true, пока введен правильный пароль), но значение «authenticated» в javascript остается «undefined». Как будто вы не можете возвращать значения из функций VB в javascript.
Я тоже пробовал
if PageMethods.AuthenticateUser("UserName", "Password")
{
//Stuff
}
Но все равно не повезло.
Что я делаю не так?
Спасибо
Jason