ASP.NET AJAX is a set of extensions to ASP.NET developed by Microsoft for implementing Ajax functionality. It is released under the Microsoft Public License.

What is AJAX?

Ajax (shorthand for asynchronous JavaScript and XML) is a group of interrelated web development techniques used on the client-side to create interactive web applications. With Ajax, web applications can retrieve data from the server asynchronously in the background without interfering with the display and behavior of the existing page. The use of Ajax techniques has led to an increase in interactive or dynamic interfaces on web pages. Data is usually retrieved using the XMLHttpRequest object. Despite the name, the use of XML is not actually required, nor do the requests need to be asynchronous.



At present, the ASP.NET AJAX suite consists of the following components and packages:

  • Microsoft Ajax Library 3.5, which is a JavaScript library that provides the client-side features of the ASP.NET AJAX framework. Integrated in ASP.NET 3.5, the library is also available as a separate download for use in other environments, such as PHP.
  • A server framework - included in ASP.NET 3.5 - for building Ajax-enabled ASP.NET server controls. These components are also available for ASP.NET 2.0 in a separate package called ASP.NET 1.0 Extensions.
  • ASP.NET 2.0 AJAX Templates, a package with a set of Visual Studio templates for building ASP.NET AJAX applications with ASP.NET 2.0 and Visual Studio 2008.

Microsoft Ajax Library

The Microsoft Ajax Library is a JavaScript library that provides the features for the client portion of the ASP.NET AJAX framework.

  • Components. The library provides an infrastructure to build either visual or non-visual JavaScript components. A global JavaScript object - Sys.Application - is responsible for managing the lifecycle of client components.
  • JavaScript extensions - An enhanced type system is introduced to emulate object-oriented constructs such as namespaces, classes and interfaces; and to perform reflection on client types.
  • Abstraction API - Common operations on the DOM (retrieving elements, setting styles and other manipulations) are automatically translated by the library into browser-specific calls.
  • Ajax - A set of client components is provided to handle Ajax requests and web-service calls.
  • Application Services - The library allows accessing the ASP.NET Membership, Authentication, Roles and Profile services from the client side.

Recently, new features have been announced as part of the ASP.NET AJAX 4.0 release:

  • Template Engine - Allows displaying data on the client side by using HTML templates and a custom binding notation. This approach avoids performing page rendering on the server side.
  • Declarative instantiation of client components - Allows registration, instantiation and configuration of client components using markup code, without writing any imperative JavaScript code.
  • Live Bindings - Synchronize element properties.