У меня есть функция 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, если введен правильный пароль), но значение «аутентифицированного» javascript остается «неопределенным». Это похоже на то, что вы не можете возвращать значения из функций VB в javascript.
я тоже пробовал
if PageMethods.AuthenticateUser("UserName", "Password")
{
//Stuff
}
Но все равно не повезло.
Что я делаю не так?
Спасибо,
Джейсон