MagicAjax.NET
is a free open-source framework, designed to make it easier
and more intuitive for developers to integrate AJAX
technology into their web pages, without replacing the
ASP.NET controls and/or writing tons of javascript code.
MagicAjax Features
Easy integration
- Just a few lines in web.config are enough to have
MagicAjax working with default configuration options
- Only one easy to use control (AjaxPanel) is required
to be included in your page to enable the AJAX
functionality
Usability
- You put the part of your page that you want to have
AJAX functionality inside an AjaxPanel and that's it;
the MagicAjax framework takes care all of the intrinsic
details for you
- The AjaxPanel works like the ASP.NET Panel and can
display its contents on the Visual Studio Designer,
allowing you to add controls to it visually
- No javascript code is needed to be written
Programming
- For most cases you can add AJAX functionality to
your existing pages by only adding AjaxPanels and
without even a single change in the source code
- MagicAjax replaces PostBacks with AJAX callbacks (AjaxCalls)
that do not cause a refresh on the client's browser
- The PostBack and AJAX functionality can co-exist in
the same page; only the controls that are inside an
AjaxPanel will perform an AjaxCall instead of a PostBack
- The page's ViewState is shared amongst PostBacks and
AjaxCalls; any changes to it by an AjaxCall will be
available to a PostBack and vice versa
- You handle an AjaxCall just like a PostBack, using
the ASP.NET server-side programming model
- MagicAjax intuitively spots the changes that occured
during an AjaxCall and sends the minimum possible
required javascript that will reflect the changes on the
client's browser
- There are plenty of helper methods to help you with
handling an AjaxCall by code (i.e. if you want to send
additional custom javascript to the client)
User experience
- The user of your page enjoys a faster and richer
browser UI, without the annoying PostBacks
- A 'Loading' label notifies the user that an AjaxCall
has been invoked
- Instead of downloading the whole page for a Postback,
the client only downloads chunks of javascript code that
apply the changes made to the page's html
- MagicAjax's changes to the page are kept in the
browser's cache, so if the user navigates to another
page and then presses the browser's 'Back' button, he
will see the same page that he was viewing before
Customization
- Many configuration options give you total control of
the inner workings of MagicAjax
- A small set of attributes applied to your ASP.NET
controls can customize the way that they will be handled
by MagicAjax
- You can define that an AjaxCall will be invoked
asynchronously or synchronously for all controls of an
AjaxPanel or for a single control
- You can define that certain controls of an AjaxPanel
will invoke a plain PostBack
- If the 'tracing' configuration option is enabled, a
popup window is created that displays information about
the data that were sent to and from the server, allowing
you to monitor the traffic of AjaxCalls that the page
invokes
- Clean object-oriented design makes it easy to extend
the framework and add your own AjaxControls
Compatibility
- Internet Explorer, Firefox, Netscape and Opera
browsers are supported
- If a browser is not supported or the user has
disabled javascript, the page will revert to plain
PostBacks automatically