Considering Microsoft ASP.NET AJAX?

Microsoft ASP.NET AJAX (formerly named Atlas) is a high-quality Ajax platform for ASP.NET developers. Before investing time and money integrating it into your next project, consider the following features unique to PowerWEB LiveControls:




Support for all ASP.NET versions – 1.0, 1.1, and 2.0

Taking advantage of Ajax rich-client functionality does not mean that you need to upgrade to ASP.NET 2.0. PowerWEB LiveControls has been compatible with all available versions of ASP.NET since it was released in 2004. Whether you are planning on upgrading to ASP.NET 2.0, or you are building applications in a mixed-platform environment, LiveControls provides the same user interface enhancements.


Compact and efficient communication including ViewState caching

PowerWEB LiveControls was not only engineered to improve web user interfaces, but to increase ASP.NET web application performance. In typical Ajax implementations including ASP.NET AJAX, page-level elements are modified by rebuilding and transmitting all HTML markup for each affected element. LiveControls transmits only the code necessary to update modified elements and even sub-element attributes.
For example, if a page contains a DataGrid comprised of 10 columns and 10 rows, a typical Ajax implementation would transmit the entire HTML table and replace it, even if a single string in a single cell was modified. By comparison, LiveControls only transmits the code required to update the single string.


% Changed 1% 10% 25% 50% 100%
LiveControls 55 bytes 550 bytes 1375 bytes 2750 bytes 5500 bytes
ASP.NET AJAX 5702 bytes 5702 bytes 5702 bytes 5702 bytes 5702 bytes



Additionally, LiveControls uses a configurable system for caching ViewState. This greatly reduces the amount of data passed between client and server for each operation. Not only do these features dramatically reduce bandwidth costs, they make for more responsive applications.


Extended client-side event support

PowerWEB LiveControls provides you with the ability to trap many client-side events not available in other Ajax implementations. Events such as MouseOver, KeyPressed, DoubleClick and more are raised as server events using the same ASP.NET code-behind model.


Multiple, simultaneous callbacks supported

LiveControls supports an unlimited number of simultaneous callbacks. With ASP.NET AJAX, if two or more simultaneous callbacks occur, only one is processed. Although the scenarios are limited where this would occur, critical events and data may be lost if it does. LiveControls processes and responds to all callbacks issued from the client.


Easily customizable

Included with PowerWEB LiveControls are client and server APIs as well as a LiveCallback control. This makes it possible to use LiveControls to integrate with other Ajax libraries, platforms and vendor controls. The APIs provide client-side pre- and post-callback events, and the LiveCallback exposes the full LiveControls callback communication framework so you may execute your own server methods without a full page post.


Multiple degradation technologies supported

Graceful degradation is the ability for a given technology to adjust itself to the capabilities found in its operating environment. For web user interfaces, this is important because of the prevalence of multiple browser types, versions, and security configurations. An Ajax implementation should attempt to use XmlHttpRequest for issuing callbacks, then ‘degrade’ to other technologies to limit user disruptions if it is not available in the client. Microsoft ASP.NET AJAX supports XmlHttpRequest, IFRAME, and finally resorts to using full page PostBacks. LiveControls supports XmlHttpRequest, Flash communications, IFRAME, and PostBack. As the second fallback mechanism, Flash is a better option than IFRAME, as it offers less UI disruption. In addition, Flash exhibits the same performance in all modern browsers, unlike IFRAME which can behave differently or not at all under many browser configurations.


Ease of application conceptualization

A typical ASP.NET AJAX implementation utilizes the UpdatePanel approach, which is somewhat non-intuitive for most ASP.NET application architects, especially in terms of optimization. For example, if your WebForm contains many different controls, you may be tempted to wrap the lot in a single UpdatePanel. However, doing so would impact communications because all elements in the UpdatePanel would be redrawn in each callback. In order to optimize the application, several UpdatePanels would be used to group related UI components, possibly even one per control. The benefit of using LiveControls is that you need not modify your interface design and conceptualization. LiveControls are used like standard ASP.NET controls, and the communications optimization is handled internally.