Click here to Skip to main content
65,938 articles
CodeProject is changing. Read more.
Articles
(untagged)

Calling a Page method with complex parameter using jason.stringfy() method

0.00/5 (No votes)
30 Mar 2011 1  
Most of the time when i tried to search for executing server side static page methods using jquery I came across simple example which explained how

This articles was originally at wiki.asp.net but has now been given a new home on CodeProject. Editing rights for this article has been set at Bronze or above, so please go in and edit and update this article to keep it fresh and relevant.

Most of the time when i tried to search for executing server side static page methods using jquery I came across simple example which explained how to call page methods which took parameters of simple types like string and integer.However none of the example explained how we can send complex object to the page method.

Consider this scenario i have a Page method which take in a parameter of type Employee and returns returns the corresponding Manager some thing like this.

[System.Web.Services.WebMethod()]
public static Manager ShowGetmanager(Employee emp)
{
Manager oManager = null;
{
// some logic to get manager
}
return oManager;
}

How i want to send in the page method a parameter of type Employee from my javascript.Some how as I explained before i was not able to figure out a way of sending this complex type since all the example i came across were using he parameter as string.Then i stumbled upon a method called JSON.stringfy() this is what i Did to send the complex obejct to the server page method

    function GetData() {
       var DTO = { "emp": { "__type": "ResearchWebApplication.Employee", "Name": "Amit", "ID": 1, "Telephone": null} }
       $.ajax({
           type: "POST",
           contentType: "application/json; charset=utf-8",
           url: "Default.aspx/ShowGetmanager",
           data: JSON.stringify(DTO), 
           dataType: "json",
           success: function(msg) {
           $('div#OutputDiv').append(JSON.stringify(msg));
              alert(msg.d);
          }, error: HandleError
       });

   }

   function HandleError(jqXHR, textStatus, errorThrown) {
       $('div#OutputDiv').append(JSON.stringify(errorThrown));
   }

 

License

This article has no explicit license attached to it but may contain usage terms in the article text or the download files themselves. If in doubt please contact the author via the discussion board below.

A list of licenses authors might use can be found here