One main ASP.NET AJAX selling point is its extensibility. Another is its level of community involvement. These ideas come together in the ASP.NET AJAX Control Toolkit. According to Microsoft, "The Toolkit addresses three needs. First it gives website developers a place to get components to make their web applications spring to life. Second, it gives a set of great examples for those wishing to write client-side code. Third, it is a place for the best script developers to get their work highlighted."
This Learning Guide dives into the ASP.NET AJAX Control Toolkit. It links to resources that will help you get started with toolkit development and to a variety of controls that you can plug right into your ASP.NET applications.
If you come across any resources that should be added to this guide, or if you have written a control that should be included in the list, send me an email and I will update the Learning Guide.
ASP.NET AJAX Controls Quick Start
- WhatIs.com definition: Atlas -- "ASP.NET AJAX is a free Web client framework from Microsoft that simplifies Web development by integrating client script libraries with the rich, server-based platform of ASP.NET 2.0." (SearchVB.com)
- ASP.NET AJAX Learning Guide -- ASP.NET AJAX marks Microsoft's foray into the ever-growing Ajax framework market. Simply put, this new environment for building Web applications puts Ajax at the front and center of the .NET Framework. This Learning Guide introduces developers to ASP.NET AJAX with a plethora of tips, tutorials and webcasts. (SearchVB.com)
- Tip series: Get started with ASP.NET AJAX development: Part 1 | Part 2 | Part 3 -- These three tips introduce developers to ASP.NET AJAX by providing a roundup of tutorials, tips and best practices for using the technology. (SearchVB.com)
Articles and Tutorials
- ASP.NET AJAX Control Toolkit promotes easy Web plug-ins -- Adding Ajax to Web apps involves little more than the drag and drop of components from the ASP.NET AJAX Control Toolkit, Microsoft demonstrated at the DevConnections 2007 conference. (SearchVB.com)
- With Microsoft's Atlas toolkit, no wait for Ajax controls -- Brian Goldfarb, product manager of Microsoft's Web Platform and Tools Group, explains why Microsoft opted to periodically release ASP.NET AJAX controls and why the move has paid off. (SearchVB.com)
- Atlas Control Toolkit (And Why It is Really Cool) -- Scott Guthrie, head of ASP.NET and Ajax development at Microsoft, announces the release of the then-Atlas Control Toolkit in April 2006 and how it will benefit developers. (Scott Guthrie's blog)
- Working with the ASP.NET AJAX Control Toolkit -- Mohammad Azam shows how to use the Collapsible Panel and Confirm Button functionalities that come with ASP.NET AJAX. (ASPAlliance.com)
- The Toolkit in action: Hooking up the CasdcadingDropDown -- This tutorial provides a detailed walkthrough for adding a control to an ASP.NET AJAX-ready Web page. (Shawn Burke's blog)
- Dynamic content made easy (How to use the new dynamic population support for Toolkit controls) -- This article demonstrates how to change the content of a pop-up control before the pop-up is displayed to the end user. (Delay's blog)
- Testing the Toolkit -- This article discusses the challenges the ASP.NET AJAX team faced when trying to write tests for the toolkit and provides a bit of sample code for testing the asynchronous steps of a Web page. (Shawn Burke's blog)
- Control Toolkit now supports theming (thanks to blogger support) -- Laurent Duveau lauds the toolkit's recently added support for Themes and Skins and tells developers how they, too, can advocate for new toolkit functionality. (Laurent Duveau's blog)
ASP.NET AJAX Control Toolkit
Go to the ASP.NET AJAX Control Toolkit home page to see all its controls and extensions in action and to grab the code you need to incorporate them into your ASP.NET 2.0 applications. For more source code, installation files and bug tracking, visit the ASP.NET AJAX Control Toolkit page on CodePlex.
Below you will find links to Microsoft's ASP.NET AJAX Control Toolkit walkthrough documents.
- Setup -- This document covers the configuration of Visual Studio 2005 or Visual Web Developer and the installation of the Ajax Control Extender.
- Using a sample extender -- This document offers a quick demonstration of using an ASP.NET AJAX extender on an ASP.NET page.
- Creating a new extender -- This document explains the process of creating a new ASP.NET AJAX extender from the beginning. It starts with a Hello World example, to make sure client behavior is set up properly, and then moves on to more customized functionality.
- Extender base class features -- This document talks about the toolkit's Extender Classes, which sit between the ASP.NET AJAX controls and the toolkit controls. Extender Classes automate tasks such as the generation of the script that behaviors to elements, the loading of a script file reference and the mapping of properties from the managed side to the client script.
- Using Animations -- This document takes a look at a few generic XML animations that can be used to add visual effects to a page. Remember -- moderation is the key.
- Animation Reference -- This (lengthy) document describes the various animation base classes that can be employed in ASP.NET applications.
- Using CascadingDropDown with a Database -- This document takes a sample that is already in the toolkit, using CascadingDropDown with an XML data store, and modifies it to deal with a database instead.
- Other neat stuff -- This document contains a variety of tips and other helpful tidbits for ASP.NET AJAX Control Toolkit development. Topics include maintaining state on the client, sharing common code and wrapping an existing behavior.
Other ASP.NET AJAX Controls
As stated, the ASP.NET AJAX Control Toolkit places an emphasis on the .NET development community. Here we point to controls and extensions that a few bloggers have put together on their own.
- Introducing Drag-Drop and Animations with Microsoft Atlas -- Here you'll find an explanation, complete with sample code, for adding drag-and-drop animation functionality to any ASP.NET AJAX control. (Shiju Varghese's blog)
- Microsoft Atlas Control Extender: Focus -- The Focus extender lets a developer set the input focus to a particular control on a Web form, according to its author. (Chris Crowe's blog)
- Master / Detail drop down lists: client side data binding -- This article demonstrates how to work with two select boxes that are dependent on each other -- that is, the data displayed in the second box has to be re-binded based on what an end user has selected in the first box. (Coding Atlas)
- Always visible loading image -- Here the author has combined two ASP.NET AJAX Controls, the UpdateProgress control and the AlwaysVisibleControlExtender, to ensure that end users always see an image when part of a Web page is loading. (Coding Atlas)
- UpdateProgress Control and Ajax Activity Image Animations -- Here are some quick tips for animating the UpdateProgress control. (Scott Guthrie's blog)
- TextBoxCounter Atlas Extender -- This extender will count the number of characters that have been entered into a TextBox. (Scott Cate's blog)
- Atlas ScriptManager Control -- As the author puts is, "This post describes the role and functionality of the Atlas ScriptManager control, which is in some sense the brains of an Atlas page." (Nikhil Kothari's blog)
- Ajax Server Extensions sample -- David Barkol has posted a sample application that makes use of the Ajax Server Extensions in ASP.NET AJAX. These extensions, he said, "do not perform Ajax in its traditional sense…but rather in a different way that gives the same illusion to the end user." (David Barkol's blog)
- ASP.NET AJAX Enabled Web Site File Manager -- This is an Ajax-enabled file manager developed using ASP.NET 2.0 server controls and several components in the Control Toolkit. (Bipin Joshi's blog)
- UpdateControls: UpdateHistory and AnimatedUpdatePanel -- Here are two visual UpdatePanel derivations -- StyledUpdatePanel, which uses CSS class semantics, and AnimatedUpdatePanel, which apply effects whenever new content is being displayed -- and a useful non-visual control that adds history entries to a browser's navigaton stack. (Nikhil Kothari's blog)
- Master Details using AJAX and the UpdatePanelPopupExtender -- This extender, which can be added to any UpdatePanel control, will position the UpdatePanel beside controls such as DetailsView or GridView. (Raj Kaimal's blog)
- Extender for multi-column widget drag and drop -- This blogger has created an ASP.NET AJAX extender for widgets. It supports reordering of widgets on the same column, drag and drop between columns, and client-side notification for the calling of Web services without asynchronous postback. (Omar Al Zabir's blog)
- CheckBoxController -- This control lets developers easily design parent/child checkboxes and an associated label that, say, makes the parent label say "deselect all" when all child checkboxes are marked. (Stefan Holmberg's blog)
- Data-driven Tabs control -- The author has extended the Tabs control already in the ASP.NET AJAX Control Toolkit by creating tabs based on database table fields. His code creates the TabPanel dynamically and then adds it to the TabsContainer control. (AspAdvice)
- wwHoverPanel and other controls -- This control, one of several in West Wind's free library, provides a pop-up window semantic. Other controls a callback method, a dragable panel and an html-based dialog mechanism. (West Wind Technologies)
ASP.NET AJAX Forums
When using an open- or shared-source framework like ASP.NET AJAX, developer forums are a great place to post questions or comments. The forums below are frequently visited by developers both inside and outside Microsoft and are certainly worth a look.
- ASP.NET AJAX Control Toolkit -- Microsoft describes this forum as "your place to discuss everything in and about the AJAX Control Toolkit." (Microsoft)
- ASP.NET AJAX UI -- This is a place for asking questions about the Ajax user interface, controls and client-side functionality. (Microsoft)
- ASP.NET AJAX Discussion and Suggestions -- This is a place for asking general ASP.NET AJAX questions. (Microsoft)
- ASP.NET AJAX Networking and Web Services -- Here developers discuss client-server interactions in Ajax programming. (Microsoft)