Friday, February 12, 2010

Consuming webservice using JQuery Asp.Net application

Download:Here

 The Web Service methods that I will use revolve around client. Having set up a web site in Visual Studio 2008, I have added a new item of type "Web Service" to the project, calling it Common.asmx. The code-behind - Common.cs - is automatically generated within the App_Code folder . The full code for that class file is as follows:




 ClientDataContext db = new ClientDataContext();

    public Common()
    {
    }

    [WebMethod]
    [ScriptMethod(ResponseFormat = ResponseFormat.Json)]
    public Client InsertClient(string BizName)
    {
        Client objClient = new Client();
        objClient.BizName = BizName;
        InsertData(objClient);
        return objClient;
    }

    public void InsertData(Client objClient)
    {
        db.Clients.InsertOnSubmit(objClient);
        db.SubmitChanges();
    }
I have used LINQ for database operation Insert client and return Id. 

Create dbml file named with Client.



Include JQuery library:








Return result as Json format following attribute will be responsible
[ScriptMethod(ResponseFormat = ResponseFormat.Json)]

and important do not forget to add attribute for webservice class
[System.Web.Script.Services.ScriptService]

Html code is


       
       
   
   
    
   

Now javascript for achieve ajax with Jquery libarary:



   
Description
adding refrence of JQuery library


Then a click event is registered with the button which will invoke the InsertClient () function

Document.Ready() It makes sure code is executed only when a page is fully loaded. We often place code blocks inside this Document.Ready() event.

$(document).ready(function() {
            $('#Save').click(InsertClient);
        }
    );



After that is the InsertClient() function that is fired when the button is clicked. It makes use of the $.ajax(options) function within jQuery, and accepts an object with a number of optional properties. type specifies the HTTP method, which in this case is POST. url specifies the URL of the Web Service, together with the web method that is being called. This is followed by the parameters, which are applied to the data property. In this case, BizName parameters are being passed, as we are calling the method that retrieves the entire collection of Client. The contentType and dataType MUST be specified. Following this are two further functions: success defines what should be done if the call is successful and get Id of client with msg['d']['Id'], and error handles exceptions that are returned.

You can see that an object with a property - d - is returned and we displaying Id of client.
    $('#status').html('Id: '+msg['d']['Id']);


Summary

With the marching forward of AJAX to the forefront of building rich interactive websites, jQuery as the lightweight yet powerful JavaScript library also gains ever more prominence.  Reflecting on the trend of harnessing the best of the web, this article paints in broad strokes some of the characteristics of jQuery and how we can integrate jQuery into ASP .NET.