When choosing which Ajax frameworks to try I used good old Google and stumbled upon Ajax.NET professional. This is a totally free Ajax framework for ASP.NET (both 1.x and 2.0).
Web site: http://www.schwarz-interactive.de/
It is really easy to define Ajax methods that you can call from the client. It’s just like defining web methods for webservices:
//Defines a web service function that adds two numbers
[WebMethod]
public int WsAddNumbers(int a, int b)
{
return a+b;
}
//Defines an ajax function that adds two numbers
[AjaxPro.AjaxMethod]
public int AjaxAddNumbers(int a, int b)
{
return a+b;
}
By specifying the AjaxMethod attribute to the function you are
telling the Ajax.NET engine to create a client side proxy function to enable invoking the server side equivalent.
The Ajax.NET engine creates a javascript function with the same signature as the c# one.
Namespace.Class.Function(arguments, [callback_function]);
The callback function is optional and lets you decide if you want a syncronous or asyncronous call.
HTML/Javascript sample for calling the server side AjaxAddNumbers function from the client:<script language="javascript">
MyDemo.AjaxAddTwoNumbers(5,5, myCallback);
function myCallback(res)
{
alert('The result: ' + res.value);
}
</script>
Ajax.NET also has features like error handling, timout handling, loading notification etc. What it currently lacks is a toolbox of Ajax enabled webcontrols. You will need to write your own.