Javascript 如何使用VB.NET和AJAX调用.NET页面方法
在我的网页中,我有以下JavaScriptJavascript 如何使用VB.NET和AJAX调用.NET页面方法,javascript,ajax,vb.net,scriptmanager,Javascript,Ajax,Vb.net,Scriptmanager,在我的网页中,我有以下JavaScript function doLogin() { var u = document.getElementById('username').value; var p = document.getElementById('password').value; var result = PageMethods.Login(u, p, doLoginSuccess, doLoginFailed); }
function doLogin() {
var u = document.getElementById('username').value;
var p = document.getElementById('password').value;
var result = PageMethods.Login(u, p, doLoginSuccess, doLoginFailed);
}
function doLoginSuccess(response, userContext, methodName) {
alert('Login successful.');
}
function doLoginFailed(response, userContext, methodName) {
alert('Login failed.')
}
…和调用doLogin()方法的按钮:
登录
在codebheind中,我有以下vb.NET:
<System.Web.Services.WebMethod()>
Public Shared Function Login(Username As String, Password As String)
If UserValidate(Username, Password) Then
Return True
Else
Return False
End If
End Function
公共共享函数登录(用户名为字符串,密码为字符串)
如果用户验证(用户名、密码),则
返回真值
其他的
返回错误
如果结束
端函数
在代码中,我可以看到我的.NET方法被调用并返回False(正如我的测试用例所预期的那样)。但是,doLoginFailed()Javascript方法不会执行。相反,页面只是重新加载,名称和密码的输入框被清除。我希望执行doLoginSucess()或doLoginSfailed()方法
我已经尝试让Login()方法只返回True,但行为没有改变
这是使用表单身份验证的web应用程序的登录页面(如果需要)
我遗漏了什么?我非常确定webmethod只接受一次回调,因此您必须检查响应以确定成功或失败
function doLogin() {
var u = document.getElementById('username').value;
var p = document.getElementById('password').value;
var result = PageMethods.Login(u, p, doLoginCallback);
}
function doLoginCallback(response, userContext, methodName) {
if (response)
alert('Login successful.');
else
alert('Login failed.');
}
function doLogin() {
var u = document.getElementById('username').value;
var p = document.getElementById('password').value;
var result = PageMethods.Login(u, p, doLoginCallback);
}
function doLoginCallback(response, userContext, methodName) {
if (response)
alert('Login successful.');
else
alert('Login failed.');
}