ic3man7019 ic3man7019 - 7 months ago 31
Vb.net Question

How do you use a return value from the server side (VB.NET) on the client side (JavaScript)?

Is it possible to call a function on the server side from the client side using

PageMethods
, and access that function's return value in JavaScript? Here's an example:

Client Side:

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
}


Server Side:

<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


Put simply, I just need to be able to access the server side function's return value on the client side. Thanks in advance.

Answer

Stolen from a tutorial online, but basically you do this:

[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');
} 
Comments