Click here to Skip to main content
15,889,909 members
Articles / Web Development / ASP.NET

Call Server Side Code by JavaScript using Ajax.NET Framework

Rate me:
Please Sign up or sign in to vote.
3.02/5 (26 votes)
15 Jul 2007CPOL 179.6K   1.8K   41   20
This article discusses how to call Server Side Code by JavaScript using Ajax.NET Framework

Introduction

Lots of times, we need to call server side code using JavaScript (it means Ajax call) and without postback. There are lots of technologies that are available for that. Some people use Ajax.dll to perform this operation. But now, when Ajax.NET framework is available, there is no need to use a third party DLL for Ajax call.

Background

There is no need to use any third party DLL for Ajax Call. Simply add the reference of System.Web.Extensions.

Using the Code

ASP.NET
Set the EnablePageMethods="true" in Script Manager
<asp:ScriptManager ID="ScriptManager1" runat="server" EnablePageMethods="true">
</asp:ScriptManager>
<script language="javascript" type="text/javascript">
<!--
JavaScript
// Javascript function
function CallSum() 
{
//Get the controls
var txt1 = $get("txt1");
var txt2 = $get("txt2");
var txtresult = $get("txtSum");

//Call server side function
PageMethods.Sum(txt1.value,txt2.value,OnCallSumComplete,OnCallSumError,txtresult);

//Server side function gets the 2 arguments arg1 and arg2. 
//We are passing txt1.value and txt2.value
//for that. OnCallSumComplete is callback function for complete successfully. 
//OnCallSumError is callback
//function on error. txtresult is usercontext parameter.

//OnCallSumComplete,OnCallSumError,txtresult are optional parameters.

//If server side code executed successfully, then OnCallSumComplete will call.
//If server side code do not executed successfully, then OnCallSumError will call.
}

// Callback function on complete
// First argument is always "result" if server side code returns void 
// then this value will be null
// Second argument is usercontext control pass at the time of call
// Third argument is methodName (server side function name) 
// In this example the methodName will be "Sum"
function OnCallSumComplete(result,txtresult,methodName)
{
//Show the result in txtresult
txtresult.value = result;
}

// Callback function on error
// Callback function on complete
// First argument is always "error" if server side code throws any exception
// Second argument is usercontext control pass at the time of call
// Third argument is methodName (server side function name) 
// In this example the methodName will be "Sum"
function OnCallSumError(error,userContext,methodName)
{
if(error !== null) 
{
alert(error.get_message());
}
}
// -->
</script>
 
Server Side Code:
 
/// <summary>
/// Server side function Sum
/// </summary>
/// <param name="arg1">arg1</param>
/// <param name="arg2">arg2</param>
/// <returns>result(sum)</returns>
[System.Web.Services.WebMethod]
public static int Sum(int arg1, int arg2)
{
//On server side we can do anything, like we can access the Session.
//We can do database access operation. Without postback.
try
{
return arg1 + arg2;
}
catch(Exception ex)
{
throw ex;
}
}

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)


Written By
Web Developer
India India
This member has not yet provided a Biography. Assume it's interesting and varied, and probably something to do with programming.

Comments and Discussions

 
GeneralMy vote of 5 Pin
Rakesh S S10-Dec-11 18:25
Rakesh S S10-Dec-11 18:25 
QuestionGetting a error ain the javascript Pin
dumpy31dec15-Nov-09 23:43
dumpy31dec15-Nov-09 23:43 
GeneralPageMethods is undefined Pin
T.EDY6-Jul-09 17:33
T.EDY6-Jul-09 17:33 
GeneralMy vote of 1 Pin
Balamurugan R A6-Jan-09 19:21
Balamurugan R A6-Jan-09 19:21 
Questionhow we can do this in asp.net 1.1 Pin
kashish329-Apr-08 20:33
kashish329-Apr-08 20:33 
GeneralPlease Post The VB Code Pin
cijothomas29-Feb-08 20:35
cijothomas29-Feb-08 20:35 
Can you please post the sam code in vb also.
i cannot fint the equivalentvb code of the following script
..how to make a webmethod in vb.net

[System.Web.Services.WebMethod]
public static int Sum(int arg1, int arg2)
{

}
GeneralRe: Please Post The VB Code Pin
Jeffrey Mahkeenson30-Mar-09 21:34
Jeffrey Mahkeenson30-Mar-09 21:34 
QuestionWhy WEBMETHOD attribute tag ? Pin
nitinjd@rediffmail.com27-Sep-07 20:08
nitinjd@rediffmail.com27-Sep-07 20:08 
AnswerRe: Why WEBMETHOD attribute tag ? Pin
PareshDehadray127-Sep-07 20:13
PareshDehadray127-Sep-07 20:13 
QuestionNot calling server side function Pin
imtiyaz_alamshah15-Jul-07 22:17
imtiyaz_alamshah15-Jul-07 22:17 
AnswerRe: Not calling server side function Pin
PareshDehadray115-Jul-07 22:32
PareshDehadray115-Jul-07 22:32 
GeneralRe: Not calling server side function Pin
imtiyaz_alamshah16-Jul-07 0:38
imtiyaz_alamshah16-Jul-07 0:38 
GeneralRe: Not calling server side function Pin
PareshDehadray117-Jul-07 4:51
PareshDehadray117-Jul-07 4:51 
GeneralRe: Not calling server side function Pin
xsoftdev16-Aug-07 12:53
xsoftdev16-Aug-07 12:53 
GeneralRe: Not calling server side function Pin
PareshDehadray119-Aug-07 20:51
PareshDehadray119-Aug-07 20:51 
QuestionCalling non static methods. Pin
astrobolidos22-Jun-07 5:19
astrobolidos22-Jun-07 5:19 
AnswerRe: Calling non static methods. Pin
PareshDehadray122-Jun-07 21:32
PareshDehadray122-Jun-07 21:32 
Questioncan we use this in usercontrol ? Pin
frumiweb9-Jun-07 3:11
frumiweb9-Jun-07 3:11 
AnswerRe: can we use this in usercontrol ? Pin
PareshDehadray111-Jun-07 3:56
PareshDehadray111-Jun-07 3:56 
GeneralCode snippet, not an article Pin
Not Active28-May-07 4:26
mentorNot Active28-May-07 4:26 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.