Introduction to Ajax and Ajax Control Toolkit

Background
 
There are many technologies used in the world to develop a applications, but instead of developing applications the greatest challenge is to make an application quick, reliable, user friendly and responsive.
 
I have written these series of articles by focusing on both beginners and experienced people so at the end of this year you will see all the Ajax and Ajax Control Toolkit Examples in one roof. So let us begin the journey with the first part.

Introduction

In traditional web sites there are many issues related to performance of an application due to the high traffic on the server because when the user wants just a particular part of information then at that time the entire web page or web site is reloaded but that is not necessary.

Problems in traditional web Applications

  1. Many round trips to the server.
  2. Rendering of webpage is slower.
  3. Increases the consumption of server resources.
  4. Response time of application is very slower.
  5. Rendering of data is static.
  6. Data is updated of an application only when the user clicks on the browser refresh button.

So the preceding is some of the basic problems related to the traditional web application so to overcome these problems Ajax is the best alternative. So let us start with the basics.

What is Ajax ?

Ajax stands for Asynchronous JavaScript and XML; in other words Ajax is the combination of various technologies such as a JavaScript, CSS, XHTML, and DOM etc.

AJAX allows web pages to be updated asynchronously by exchanging small amounts of data with the server behind the scenes. This means that it is possible to update parts of a web page, without reloading the entire page.

We can also define Ajax is a combination of client side technologies that provides asynchronous communication between the user interface and the web server so that partial page rendering occurs instead of complete page post back.

Ajax is platform-independent; in other words AJAX is a cross-platform technology that can be used on any Operating System since it is based on XML & JavaScript. It also supports open source implementation of other technology. It partially renders the page to the server instead of complete page post back. We use AJAX for developing faster better and more interactive web applications. AJAX uses a HTTP request between web server & browser.

Using Ajax technologies we can observe in Google Maps, Gmail, YouTube, and Facebook tabs.

I hope you have understood the basic concepts of Ajax. Now let us see the following diagram showing how Ajax works:

AjaxWorking.png

In the above diagram it's clear how Ajax works, that first depending on the client requests the browser creates the XMLHttpRequest and sends it to the server and there after that the server processes the HttpRequest given by the browser, processes it and then sends the response back to the user and at the end the browser processes the response given by the server using JavaScript and update the requested content of the particular page instead of the entire page contents.

AJAX is Based on Internet Standards

AJAX is based on internet standards, and uses a combination of a XMLHttpRequest object to exchange data asynchronously with a server, JavaScript and DOM to interact with the information and CSS is used to style the data and XML is often used as the format for transferring data.

Let us know about the basic information each technology uses in Ajax.

1. XHTML and CSS

XHTML (or HTML) is used for providing the markup tags, as used in any typical web site. In addition, we utilize CSS for extra styling functionality in relation to presentation and layout. XHTML is a stricter and more standardized form of HTML, which follows the rules of XML such as the requirement for well-formatted and valid against a schema or DTD.

2. Document Object Model (DOM)

The Document Object Model is a platform and language independent standard object model for representing HTML or XML.

3. XML

XML is typically used as the format for transferring data between the server and the client. Using XML we can represent any applicable data object structure we might wish to represent.

4. XMLHttpRequest (XHR) and JavaScript

The XMLHttpRequest is the core of the Ajax model; without it the model would not exist. The XMLHttpRequest JavaScript object is the enabling technology which is used to exchange data asynchronously with the web server. In short, XMLHttpRequest lets us use JavaScript to make a request to the server and process the response without blocking the user. Naturally, as we are using this JavaScript object, the providing technology is JavaScript and hence some knowledge of JavaScript is required to get Ajax applications to function. 

Note:

  •    In Ajax Client and Server Communication done with help of HttpRequest.
  •   AJAX applications are browser and platform independent.

I hope you have understood the basics concepts of Ajax. Now let us discus the relation between Ajax and ASP.Net Framework.

Ajax and ASP.Net Framework

ASP.NET AJAX integrates client script libraries with the ASP.NET 2.0 development framework. This new Web development technology extends ASP.NET, offering the interactive user interface benefits of AJAX with a programming model that is more familiar to ASP.NET developers, making it very easy to add AJAX to your applications quickly and with minimal effort.

Power of Ajax

  • With AJAX, when a user clicks a button, you can use JavaScript and DHTML to immediately update the UI, and spawn an asynchronous request to the server to fetch results. 
  • When the response is generated, you can then use JavaScript and CSS to update your UI accordingly without refreshing the entire page. While this is happening, the form on the users screen doesn't flash, blink, disappear, or stall. 
  • The power of AJAX lies in its ability to communicate with the server asynchronously, using a XMLHttpRequest object without requiring a browser refresh. 
  • Ajax essentially puts JavaScript technology and the XMLHttpRequest object between your Web form and the server.

Everything happens behind the scenes with a minimum request and response cycle without the knowledge of the user.

Advantages of AJAX based application

  • Improved application performance by reducing the amount of data downloaded from the server
  • Rich, responsive and Slick UI with no page flickers
  • Eliminates frequent page refresh which usually happens in a typical request/response model (Everything is updated on fly)
  • Easy to implement as there are variety of AJAX implementations available around
  • AJAX mechanism works behind the scene nothing much required from user perspective
  • Works with all browsers
  • Avoids the round trips to the server
  • Rendering of webpage faster
  • Decreases the consumption of server resources
  • Response time of application is very faster
  • Rendering of data is dynamic

So let us start with the basic concepts of Ajax Extension which comes with the ASP.Net Framework.

Using Ajax Extension

The following are the most commonly used Ajax controls in an ASP.Net Application which comes with the ASP.Net Framework and available under the Ajax Extension tab of ASP.Net Toolbox present at the left hand side of Microsoft Visual Studio framework.

These controls are:

  1. ScriptManager
  2. UpDatePanel
  3. Timer
  4. UpdateProgress
  5. ScriptManagerProxy
  6. Pointer
  1. Using ScriptManager

    When we use any Ajax control then there is a requirement to use the ScriptManager to handle the Scripting on the client side; without the ScriptManager Ajax controls are not run. So it's a requirement to use the ScriptManager.
     
  2. Using UpDatePanel

    Update panel is one of the most commonly used Ajax controls which is responsible for updating the particular requested content of the page instead of the entire page which is not requested. The ASP.Net controls are put under the update panel to make the benefit of this control. The ASP.Net controls which are kept under the update panel will be updated when the user clicks on a particular ASP.Net Control which are used in an application.
    You can use multiple update panels on a single web page.
     
  3. Using Timer

    The Timer is also one of the important controls; by using it we can update the particular content of the page automatically without clicking the browser refresh button. The Timer control is used along with the Update Panel so the Contents put under the update panel are automatically updated according the timing set under the timer_click event.
     
  4. Using Update Progress

    This control is used to notify the user to wait until the requests are processed on the server. Update progress control is used when the user clicks on any tab or control of an application. At that time the progress bar is shown which is the interval between the times taken by the server to process the client request.
     
  5. Using ScriptManagerProxy

    When you need to reference a service from your content page and yet the ScriptManager resides on the Master Page use a ScriptManagerProxy. The ScriptManagerProxy works by detecting the main ScriptManager on your page at runtime and hooking itself to that ScriptManager, making sure that any references given to it are also given to the real ScriptManager.
     
  6. Using Pointer

    This Ajax Control used to specify the style of the mouse pointer such as arrow, thumb, and progress bar and much more. The above is the basic introduction about the Ajax Extension controls which are available by default in a Microsoft Visual Studio Framework.

Summary

In this first part of article I have explained the basics of Ajax. In my next article of the series, Using Ajax Extension :Part-2, I will explain how to use Ajax Extension controls in an ASP.Net C# web application.


Similar Articles