Synchronous postbacks are one the major disadvantages of many of todayâ€™s websites as the round trip from the client to the server can be slow; especially when accessing web pages that require intensive updates (i.e. pages that contain large images or other rich media content). This is perfectly illustrated by comparing the Synchronous model of http://www.streetmap.co.uk/ to the Asynchronous model of http://maps.google.co.uk/. Google Maps seamlessly delivers it content while the user browses and Street Map performs postbacks every time the user requests a different section of the map.
Introducing ASP .Net AJAX (Synchronous Vs. Asynchronous)
Consider the case whereby a web site has to regularly update its content with ever-changing information, e.g. stock prices. This stock price information may only take up a small portion of the page but in-order for this small update to occur a full page postback is required. Even on a good day when the round trip to the web server is fast this will still case the browser to blink / flash and on a bad day users will be left staring at a blank white page while the server build the new page and posts back the results.
When using AJAX enabled web pages it is possible to implement partial page updates whereby the only part of the page is updated allowing the users to continue browsing other content while a specific region of the page is updated. The addition of visual loading indicators are also possible as a welcome change from a blank screen and give user a clear indication of what is going on.
ASP .Net AJAX Architecture
Using conventional ASP .Net controls the server is responsible for dynamically creating HTML mark-up which isnâ€™t ideal as it doesnâ€™t provide a clean separation of presentation and business logic. ASP .Net AJAX follows a different model whereby data is still managed on the server but presentation is handled by the client side components that run in the browser.
ASP .Net AJAX can be easily incorporated into excising ASP .Net applications and makes it possible to develop a richer client-side experience.