// documentation
MagicAjax.NET — Classic Docs
A modern, readable preservation of the original MagicAjax framework documentation. Sections are kept faithful to the project's identity while typographically refreshed for today's screens.
Features
MagicAjax.NET was designed to make AJAX integration in ASP.NET WebForms feel almost invisible. Drop an AjaxPanel on the page, and any postbacks inside it became asynchronous — without touching JavaScript, replacing controls, or rewriting page logic.
- AjaxPanel — the core control. Wraps existing server controls and turns full postbacks into partial updates.
- Client-side validators integration — works with the standard ASP.NET validation infrastructure.
- AjaxCallHelper — a server-side helper to push small bits of JavaScript or DOM updates back to the client during an AJAX call.
- CSS & script reflection — when the page rendered partially, styles and scripts were reflected to the client so newly-injected markup behaved correctly.
- Cross-browser support — back when this mattered intensely. IE 5.5+, Firefox 1.x, Opera, Safari.
- .NET 1.1 and .NET 2.0 builds — separate binary releases, both shipping from the same codebase.
Readme
MagicAjax.NET is a free, open-source framework for ASP.NET WebForms. The goal of the project was simple: let developers add AJAX to existing pages without replacing their controls or hand-writing JavaScript. At a time when the web was just discovering the term "AJAX", the project gave the WebForms ecosystem a pragmatic, drop-in answer.
The framework sits between the server's render lifecycle and the browser. Page events, control state, and ViewState all continue to work; the difference is that the round-trip happens silently, without a flicker or a full page reload.
Project goals
- Preserve existing ASP.NET development habits — postbacks, server controls, code-behind.
- Avoid forcing developers to learn a new client-side library to get partial updates.
- Stay small, focused, and easy to drop into existing projects.
Usage Guide
Add MagicAjax to your page in three steps.
1. Reference the assembly
<%@ Register Assembly="MagicAjax" Namespace="MagicAjax.UI.Controls" TagPrefix="ajax" %> 2. Wrap controls in an AjaxPanel
<ajax:AjaxPanel ID="panel" runat="server">
<asp:Label ID="lbl" runat="server" Text="Loading..." />
<asp:Button ID="btn" runat="server" Text="Refresh"
OnClick="btn_Click" />
</ajax:AjaxPanel> 3. Handle the event server-side as usual
protected void btn_Click(object sender, EventArgs e)
{
lbl.Text = "Hello @ " + DateTime.Now.ToLongTimeString();
// No postback. No flicker.
}
Every postback that originates from inside the AjaxPanel is now an asynchronous call. The label updates without a full reload, the rest of the page stays untouched, and the developer keeps writing standard server-side code.
Changelog
0.3.0 — major release
- Improved integration with ASP.NET — client-side validators now work inside AJAX panels.
- New CSS-styles and scripts are "reflected" to the client during partial updates.
- Several new controls and features (see article archive for deep dives).
- Plenty of bug fixes across both .NET 1.1 and .NET 2.0 binaries.
0.2.2 — maintenance
- Many bug fixes and minor enhancements based on community feedback.
0.2.1 — emergency maintenance
- Released earlier than planned to fix a serious regression in 0.2.0.
0.2.0 — official launch
- First official release with binary downloads for .NET 1.1 and .NET 2.0.
- Demo site goes live; documentation pipeline starts.
Old Demos
The original demo site shipped a small but complete set of examples — many of them still beautifully demonstrate just how much you could do without writing client-side code. See the full Demos Archive for write-ups and historical context.
- Tic-Tac-Toe — full-page game, zero JavaScript on the developer's side.
- Live Chat — server-driven chat using AJAX panels and timers.
- .NET 2.0 demos — late-2005 additions showcasing newer ASP.NET features.
- Form validation — client-side validators working transparently across panels.
SourceForge Archive
For most of its active life, MagicAjax.NET was hosted on SourceForge — the de-facto open-source forge of the time. Releases, source snapshots, forums, and CVS history all lived there. The forums in particular preserved an enormous amount of community knowledge: configuration tips, browser-specific gotchas, integration patterns with third-party controls.
We're slowly indexing useful threads, code snippets, and release notes from that era and republishing them with modern context. If you maintained or contributed to MagicAjax in its SourceForge days, please get in touch — first-hand accounts make the archive much better.