Ajax  (Asynchronous Javascript And XML) est un mécanisme permettant un traitement asynchrone des requêtes afin que chaque élément d'une page puisse effectuer ses propres traitements indépendamment des autres, pour de ne pas avoir à recharger systématiquement l'ensemble de la page mais uniquement les parties ayant besoin d'être actualisées. Cela rend transparent l'ensemble des communications entre le navigateur et le serveur et par conséquent, rend la navigation beaucoup plus fluide et confortable.
Le mécanisme Ajax exploite en fait une technologie disponible depuis la version 4 de l’internet Explorer (XmlHttpRequest) mais mise à disposition plus récemment sur d’autres browsers. C'est cette fonction qui va permettre d'obtenir des données depuis un serveur (de préférence dans un format XML) sans avoir à recharger la page dans son intégralité.
 
Il ne s'agit donc pas véritablement d'une innovation technologique, les techniques utilisées étant existantes et stables depuis quelques années mais plutôt d'un regroupement de méthodes et d'usages (Javascript, XML, CSS, DHTML)  permettant d'améliorer significativement le confort et l'utilisabilité d'un site web.
Le champ d'application est extrêmement vaste :
• Rafraîchissement dynamique de formulaires
• « Glisser déposer »
• Redimensionnement et positionnement libre des fenêtres
Le Javascript est cependant un langage qui nécessite des efforts importants : les développements ciblant des fonctions de type Ajax peuvent être extrêmement coûteux.

Pour y remédier, des frameworks javascript exposent un grand nombre de fonctions facilement réutilisables et déclinables. Les temps de développement sont ainsi réduits.
ASP.NET 2.0 offre nativement un mécanisme baptisé « asynchronous client callbacks » autorisant l'envoi en différé des informations au serveur puis le retour vers la page qui traite les données et l’affichage à l'endroit souhaité sans rechargement. Cette fonction encapsule XMLHTPP et fonctionne avec de multiples browsers. Plusieurs types de contrôles utilisent ces callbacks (pagination et tri côté client pour les contrôles GridView et DetailsView, listes virtuelles d’éléments du contrôle TreeView).

Pour étendre ces mécanismes, Microsoft propose un Framework Ajax qui capitalise sur ASP.NET 2.0. Cette librairie, directement intégrée dans l'environnement de développement Visual Studio 2005, permet aux développeurs d'intégrer dans leurs applications des composants serveurs Ajax tout en bénéficiant de la productivité et de la richesse de l’environnement de développement Web ASP.NET 2.0.
L'ensemble des composants AJAX 1.0 sont téléchargeable à l'adresse suivante :

http://ajax.asp.net/downloads/default.aspx?tabid=47

Les sources d’AJAX 1.0 sont également disponible ici :

 http://www.microsoft.com/downloads/details.aspx?FamilyId=EF2C1ACC-051A-4FE6-AD72-F3BED8623B43&displaylang=en

En complément, voici un lien sur un article de Christopher Gooley qui explique comment construire le projet Studio permettant d'exploiter ces sources pour bâtir sa  propre System.Web.Extensions.dll

http://iterat.ive.ly/index.php/2007/01/31/build-your-own-modded-systemwebextensionsdll/