如何在客户端(JavaScript)使用服务器端(VB.NET)的返回值?

时间:2016-04-27 15:51:08

标签: javascript vb.net pagemethods

是否可以使用PageMethods从客户端调用服务器端的函数,并在JavaScript中访问该函数的返回值?这是一个例子:

客户端:

function onBlur(){ //this function is called when you click away from a textbox
    PageMethods.SomeServerSideFunction(params, onSuccess, onFailure);
}

function onSuccess(){
    //do something on success
    //I want to be able to print out the server side function's return value here
     alert(PageMethods.DoesItWork(params)) //this is what I've tried, but it doesn't work 
}

function onFailure(){
    //do something on failure
}

服务器端:

<System.Web.Services.WebMethod()>
Public Shared Function DoesItWork(params As String) As Boolean
    'logic to determine a return value
     Dim RetVal as Boolean
     Return RetVal 'I want to be able to use this return value on the client side
End Function

简单地说,我只需要能够在客户端访问服务器端功能的返回值。提前致谢。

1 个答案:

答案 0 :(得分:2)

从在线教程中被盗,但基本上你是这样做的:

[System.Web.Services.WebMethod]
public static string ToUpper(string data) {
  return data.ToUpper();
}

-

function CallMethod() {
  PageMethods.ToUpper("hello", OnSuccessCallback, OnFailureCallback);
}

function OnSuccessCallback(res) {
  alert(res);
}

function OnFailureCallback() {
  alert('Error');
}