Microsoft has released a new Community Tech Preview (CTP) of Atlas, Microsoft's AJAX framework for ASP.NET. Note that Atlas can also be used with other web technoloogies such as PHP or ColdFusion via the Atlas client-script libraries.
ASP.NET developers can automatically add AJAX functionality to their web applications using Atlas server controls:
<atlas:ScriptManager ID="ScriptManager1" runat="server" EnablePartialRendering="true" />
<atlas:UpdatePanel ID="UpdateGrid" runat="server">
<ContentTemplate>
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="True"
DataSourceID="SqlDataSource1">
<Columns>
<asp:CommandField ShowEditButton="True" />
</Columns>
</asp:GridView>
</ContentTemplate>
</atlas:UpdatePanel>
Since it is inside an UpdatePanel, the above GridView will update the database via AJAX without a page postback, without the developer having to write any AJAX code (or codebehind logic if using a SqlDataSource), and it works in a cross-browser manner. The UpdatePanel can also be notified to refresh its content based on another control on the page (but outside the UpdatePanel) using Triggers.
Changes in the Atlas June CTP include:
UpdatePanel:
- UpdatePanels can be added to a page dynamically throughout the page lifecycle, including UpdatePanels inside templates. UpdatePanels now also work inside WebParts, and WebParts can be inside UpdatePanels.
- UpdatePanel will preserve cookies set during an async postback when Response.Redirect() is called. This fixes Login control scenarios where an authorization cookie is set and the user gets redirected to the previous page.
Networking:
- ServiceMethod uses default error handler if none specified.
- XsltBridgeTransformer now works with VirtualPathProviders
- DBNull.Value now should be serialized as null
- ServiceReferences now support optional InlineProxy attribute for generating service proxies in the page rather than through a serviceurl/js script reference.
- Fix for scenarios where web service proxy contained the wrong port (webfarms, port forwarding)
Drag and Drop:
- Drag and drop will no longer produce debug output
- Interactive HTML elements (input, button, textarea, select, label, anchors with an href) can no longer be dragged directly
Miscellaneous Changes:
- Date.toFormattedString improvements
- Client-side data: SaveData fix for strongly-typed DataSets
Most notable is the ability to create update panels dynamically, which allows them to be used inside composite controls, such as web parts and GridViews, or within custom server controls, significantly enhancing the extensibility of Atlas. Atlas architect Nikhil Kothari has control creation example available on his blog.
To learn more about Atlas, visit Scott Guthrie's Atlas Resources.