Welcome to the ASP.NET AJAX Control Toolkit sample website. Please choose from any of the samples on the left.



Installation Files


Please visit the AJAX Control Toolkit project page on CodePlex.



Release Notes


Version 1.0.61121.0

 

General Notes:

 

  • Removed AJAX Control Toolkit's dependency on Microsoft.Web.Extensions.Design.dll. This DLL is part of ASP.NET AJAX, but is not installed on machines without some flavor of Visual Studio already installed. The missing DLL caused problems for web servers (which typically do not have development tools installed on them).
  • Moved the workaround for the scenario when EnableEventValidation=false (and ASP.NET AJAX doesn't render extenders or ScriptManager to the page during an async postback) up a level from CascadingDropDown to ExtenderBase so that all Toolkit controls will benefit
  • Revised ModalPopup server-side Show/Hide implementation to work even when the ModalPopupExtender is not part of the current async postback (regressed due to an ASP.NET AJAX change)
  • Fixed an issue preventing ClientState from working properly inside an UpdatePanel (regressed due to an ASP.NET AJAX change)
  • Fixed ModalPopup server-side Show/Hide to apply to only the next page load/async postback instead of applying to all subsequent page loads/async postbacks
  • Updated Accordion to adjust its pane sizes after an async postback in order to avoid clipping the new pane contents if they were bigger than the old pane contents
  • Fixed an issue with AjaxControlToolkit.IEDragDropManager.unregisterDropTarget that could cause a script error during page unload/dispose if multiple DragPanels were being used
  • Fixed a width issue with AjaxControlToolkit.CommonToolkitScripts.getLocation
  • Updated web.config files to include changes associated with ASP.NET AJAX Beta 2 and resolve issues running under IIS7

 

Breaking Changes

 

  • No breaking changes

 

Known Issues

 

  • No new issues


Version 1.0.61106.0

 

General Notes:

 

 

Breaking Changes

 

  • No breaking changes

 

Known Issues

 

  • No new issues


Version 1.0.61020.0

 

New controls (see sample pages on left):

 

  • DropDown: Provides a dynamic drop-down functionality, similar to what is found in Windows Sharepoint Server.
  • MutuallyExclusiveCheckbox: Allows picklists of mutually-exclusive values.
  • ValidatorCallout: Adds great client-side UI to ASP.NET validators

 

General Notes:

 

  • Updated the Toolkit framework, all controls, all samples, and all documentation for the new ASP.NET AJAX v1.0 Beta
  • The ASP.NET AJAX Beta has a number of changes from earlier releases of "Atlas" - users are encouraged to familiarize themselves with those changes because many of them directly impact the Toolkit
  • For Toolkit users (e.g. those not writing components, see this walkthrough for migrating your pages.
  • TemplateVSI now includes Web Site projects in addition to the Extender projects and Extender items it already had - C# and VB versions are available for all templates

 

Breaking Changes

 

  • Techincally, everything in this release is a breaking change since the syntax on the client- and server-side has changed.  We have, however, worked hard to minimize the impact of this to page developers.  The server-side move to this build is trivial, see the walkthrough.
  • The ASP.NET AJAX Extensions DLL (now Microsoft.Web.Extensions.dll) is not included with the Toolkit and must be downloaded and installed separately
  • Extenders no longer contain a set of properties classes.  The property values for an extender are now directly on the extender object.  This means that, in past cases where you had one extender and multiple properties objects, you will now have multiple extenders.  This greatly simplifies the use of extenders.
  • The coding pattern for JavaScript behaviors has changed from the closure model to the Prototype model - all Toolkit behaviors have been updated.  See documentation on the ASP.NET AJAX website for more information on this change.
  • The default Toolkit tag prefix changed from "atlasToolkit" to "ajaxToolkit"
  • Profile Binding is not supported in this release.

 

Known Issues

 

  • Many of the controls are known to work well with the recently released Opera browser, though Opera support was not a focus of this release.  In future releases, we plan to continue to improve our Opera support as ASP.NET AJAX does.


Version 1.0.60914.0

 

New controls (see sample pages on left):

 

  • Animation: Adds powerful, easy to use animations to any element or control
  • NoBot: Applies simple rules to prevent automated bots or scripts from posting to a page
  • Slider: Adds an elegant scrollbar-like user interface for setting numeric values
  • UpdatePanelAnimation: Animates page elements corresponding to hidden postback activity

 

General Notes:

 

  • Made Microsoft.AtlasControlExtender.dll functionality public and integrated it into AtlasControlToolkit.dll
  • Added animation framework that makes creating and running complex animations easy - see Using animations for details
  • Fixed problem introduced in last release where extender entries in the properties window didn't expand when the '+' was clicked
  • Significantly improved data binding implementation to avoid unnecessary problems
  • Changed load time of ClientState values to make them more easily accessible by extender code
  • Improved FindControlHelper implementation to enable it to successfully find controls in more scenarios
  • Added ASP.NET AJAX profile service support to the extender base class to make persisting values easier - see Other neat stuff for details
  • Added CommonToolkitScripts.getCurrentStyle function to hide the cross-browser aspects of querying the current (computed) style of an element
  • Added DynamicPopulate*Base classes to make it easy to add DynamicPopulate functionality to any extender - see Other neat stuff for details
  • Added PageRequestManagerID property to BehaviorBase to allow behaviors to easily hook up to partial update begin/end events - see Other neat stuff for details
  • Modified all behaviors to raise ASP.NET AJAX's "PropertyChanged" event when any of their property values change
  • Revised Safari compatibility layer patching to allow event handler access of window.event (enabled by default by ASP.NET AJAX)
  • Improved handling of ID changes to controls that create extenders/properties
  • Added data binding support to Accordion to allow creation of panes from a data source
  • Modified CascadingDropDown to populate DropDownList.SelectedItem.Text so that both text and value can be accessed
  • CascadingDropDown now populates its DropDownList before Page_Load so the .SelectedValue will can be used in Page_Load
  • CascadingDropDown now supports 1:many parent:child relationships so that multiple CascadingDropDowns can have the same parent
  • ConfirmButton and ModalPopup updated to respect the "disabled" state of buttons and ignore disabled button clicks
  • Added Radius property to DropShadow extender for customizing the corner radius
  • HoverMenu, ModalPopup, and PopupControl now have DynamicPopulate functionality built-in (via the new DynamicPopulate*Base classes)
  • Improved ModalPopup behavior when used with UpdatePanels in order to avoid possible null dereferences
  • Added support for showing and hiding the ModalPopup display element from server-side code
  • PasswordStrength now supports customizable weightings of each password requirement class
  • PopupControl now works properly when its TargetControlID is within an UpdatePanel
  • PopupControl now supports .Commit calls specifying the empty string ("")
  • Reenabled postback mode for ReorderList to allow scenarios that require postbacks
  • Fixed ReorderList behavior when SortOrderField is set with a bound IList data source
  • ResizableControl implementation changed to work around some browser bugs that unnecessarily reloaded images
  • Fixed some cursor display issues when tabbing through TextBoxWatermark
  • Modified TextBoxWatermark to re-apply its watermark after UpdatePanel postbacks to avoid losing the watermark
  • Added ToggleButton support for disabled checkbox images by enabling different images for disabled checked/unchecked boxes
  • Other minor improvements throughout

 

Breaking Changes

 

  • Removed obsolete Commit and Cancel method overrides of PopupControlExtender (were replaced by versions that do not take a Control parameter in the previous release)
  • Namespace of certain classes changed from "Microsoft.AtlasControlExtender" to "AtlasControlToolkit"
  • Removed GetAccordionPanes method on Accordion, replaced by Panes property. Existing pages may have a tag prefix on the Panes element (e.g. "<cc1:Panes>") that should be removed.

 

Known Issues

 

  • No new issues


Version 1.0.60731.0

 

New controls (see sample pages on left):

 

  • DynamicPopulate: (Re-)populates any element with HTML content downloaded from the server.
  • FilteredTextBox: Prevents unwanted characters from being typed into a text box.
  • PagingBulletedList: Adds flexible paging and sorting to any bulleted list.
  • PasswordStrength: Provides interactive feedback about the strength of a password being created.
  • Rating: Displays a "4 out of 5 stars" interface for ranking.

 

General Notes:

 

  • Updated to include/support the ASP.NET AJAX July CTP release
  • Added support for data binding in Extender properties declarations - see Other neat stuff for details
  • Changed ASP.NET AJAX control registration behavior to better enable multiple extenders to hook up to the same element (example: ASP.NET AJAX's AutoComplete and Toolkit's TextBoxWatermark)
  • Added getCurrentStyle and getInheritedBackgroundColor helpers to CommonToolkitScripts object in Common.js to isolate the relevant browser-specific code
  • Modified AlwaysVisibleControl to use CSS "position:fixed" style on browsers that support it
  • Enabled AutoPostBack scenario for CascadingDropDown DropDownLists so that a submit button is no longer necessary
  • Added "LoadingText" property to CascadingDropDown for specifying the text to display as the DropDownList populates from the server
  • Changed DropShadow to match the visibility state of its target
  • Added ReorderList support for Array and IList data sources
  • Changed ReorderList to use callbacks instead of postbacks for a more seamless user experience
  • Simplified ReorderList hook-up process to make it even easier to use
  • Added RoundedCorners support for hooking up to elements with "width=x%"
  • Added get_Text and set_Text methods to TextBoxWatermark to support client-side script access to the text in a watermarked text box
  • Improved automated testing coverage
  • Added debug mode to automated test framework to make it easier to identify exceptions
  • Added support for firing keyboard events to automated test framework
  • Removed double-encoding of script references in generated XML Script
  • Other minor improvements throughout

 

Breaking Changes

 

  • No breaking changes

 

Known Issues

 

  • No new issues


Version 1.0.60626.0

 

New controls (see sample pages on left):

 

  • Accordion: Displays one pane at a time from a set of multiple panes.
  • NumericUpDown: Lets you attach flexible up/down "spinners" to any TextBox.
  • ResizableControl: Makes any control resizable.

 

General Notes:

 

  • Included custom test framework along with complete control tests - see Automated Testing for details
  • Added ResolveControlID event to replace ResolveTargetControlID and enable page authors to identify controls that can't be located by the ExtenderControlBase class (e.g., because they're in an unusual naming container) - see Other neat stuff for details
  • Moved getMarkupContext/removeObject workaround for ASP.NET AJAX dispose issue up to BehaviorBase script class; modified all behaviors to inherit from it
  • Changed the way ID properties are handled by the ExtenderControlBase class so that controls with IDs no longer cause problems in design mode
  • Modified ExtenderControlBase class to detect target controls marked Visible="false" and not render the corresponding Toolkit control
  • Fixed GetClientClassForControl method to match derived classes
  • Removed CollabpsibleContent UserControl from sample web site because it broke design mode; use CollapsiblePanel directly instead
  • Added "default value" setting to CascadingDropDown's CascadingDropDownNameValue class for specifying the default value
  • Fixed regression where CascadingDropDown DropDownList controls no longer fired the OnSelectedIndexChanged event
  • Fixed regression where CascadingDropDown's onXxxError methods weren't populating the error string correctly
  • Improved CollapsiblePanel sizing behavior
  • Fixed minor height miscalculation in DropShadow
  • Fixed ModalPopup bug where multiple background layers could be created
  • Improved ModalPopup popup technique to allow form controls within the popup to postback
  • Improved ModalPopup modality by disabling tab-able controls in the background
  • Worked around ModalPopup IE z-index issue by hiding dropdown controls in the background
  • Got PopupControl working within a repeater; improved server-side usability, general resiliency
  • Fixed various ReorderList functionality and sample issues
  • Added ItemsCollection to ReorderList
  • Fixed problem where using ToggleButton with AutoPostBack wasn't working
  • Improved ToggleButton decoy image tracking during page resize
  • Added "alt" image properties to ToggleButton images

 

Breaking Changes

 

  • Removed obsolete ScriptReferenceCollection property (was replaced by RequiredScriptAttribte in previous release)

 

Known Issues

 

  • No new issues


Version 1.0.60504.0

 

New controls (see sample pages on left):

 

  • AlwaysVisibleControl: Docks any panel to the browser edge so it remains visible all the time.
  • DropShadow: Adds attractive drop shadows to any control on the page!
  • ModalPopup: Shows styled modal UI without using HTML dialogs!
  • RoundedCorners: Rounds the corners of any control for a clean, professional look.

 

General Notes:

 

  • Significantly improved support for Apple's Safari web browser by fixing most issues (see known issues below)
  • Enabled strong-name signing for AtlasControlToolkit.dll
  • Added ID property to TargetPropertiesBase. This allows behaviors to be accessed directly from script using the "$object('id')" statement.
  • Added GetUniqueID helper for building unique behavior IDs for behaviors that need ideas and are used in repeaters.
  • Changed XMLScript generation to bind to specific control types where possible. Old version always generated "<control id='controlId>" for all control types. Now for known types (e.g. TextBox), "<textBox id='controlId'>" Will be generated, which allows access to ASP.NET AJAX control class (e.g. this.control is Sys.UI.TextBox instead of Sys.UI.Control).
  • CascadingDropDown can now call PageMethod as well as web services (Just leave the ServicePath property blank).
  • CascadingDropDown now has a "SelectedValue" property to predefine what's selected. Note this should be the text representation of the value (not the text) that you want to select
  • CascadingDropDown's usage of web service callbacks has been optimized
  • Added support for virtual paths in control properties (properties that use URLs can now use the "~/File.htm" representation)
  • Added RequiredPropertyAttribute to simplify EnsureValid logic
  • Added RequiredScriptAttribute to simplify control sharing, as well as the ability to specify another extender type in the attribute. Doing so will cause the referenced extender's scripts to be loaded before the scripts for the given control. This allows usage of other extenders classes in a custom extender's behavior.
  • Improved PopupControl user interaction behavior - now dismisses on click instead of mouse leave
  • Improved CollapsiblePanel behavior, added ImageControlID property for expand/collapse images. Will now properly handle initially hidden panels (they need overflow set to hidden) so they don't initially show.
  • Added Common.js file for sharing common control/script code. To reference this code, add [RequiredScripts(typeof(CommonToolkitScripts)] to your extender type.
  • Changed from overloading DisplayName to using dedicated ClientPropertyNameAttribute for matching property names on TargetPropertiesBase to the client name
  • Modified sample pages to use CollapsiblePanel for section
  • Miscellaneous fixes and incorporation of user feedback to all controls

 

Breaking Changes

 

  • RequiredScripts property on ExtenderControlBase has been deprecated. Move to RequiredScriptsAttribute before next refresh.
  • ToggleButton's image properties are now typed as string instead of System.Uri
  • DisplayNameAttribute no longer modifies the name for client properties. This functionality has been moved to the ClientPropertyNameAttribute
  • String properties no longer default to null if empty, but rather "".
  • For Safari compat, type prefix names must be all lower-case. The ExtenderBaseControl now enforces this. If your components stop working when you install this release, find the "Sys.TypeDescriptor.addType" call in your JS behavior file and change the first parameter value to be only lower case characters.

 

Known Issues

 

  • Since UpdatePanels don't work on Safari, PopupControl won't be able to populate the textboxes upon closing.
  • Using behaviors directly through script. Adding the ID property to the behaviors made them very easy to access directly through script. If you are using the behaviors directly from script, changing properties after they have been initialized.
  • If you are writing a custom behavior that binds to a DropDownList, you may run into issues. The workaround is to override GetClientClassForControl on your extender class and return "control". Note this will prevent you from accessing Sys.UI.Select features on the control class that is attached to your behavior.
  • On Internet Explorer, using the DropShadow control you may see a brief flash when it is reparenting items inside of the target panel.
  • On Safari, tabbing out of a textbox doesn't appear to cause an "onblur" event. This interferes with TextBoxWatermark replacing the watermark if the user tabs through. Works fine with the mouse.
  • TextBoxWatermark watermark isn't cleared before submit on Safari
  • PopupControl doesn't dismiss reliably on Safari when the mouse is clicked outside the popup.


Version 1.0.0.0

 

  • Initial release!
  • New controls:
    • CascadingDropDown: Easily link drop downs, complete with asynchronous population and no postbacks!
    • CollapsiblePanel: This extender allows panels on your page to collapse and expand with no code.
    • ConfirmButton: This extender adds a confirm dialog to any Button, LinkButton, or ImageButton control.
    • DragPanel: Makes any panel into an object that you can drag around the page.
    • HoverMenu: Allows UI to pop up next to a control when the user hovers over it.
    • PopupControl: This extender turns any panel into a popup.
    • ReorderList: This control is a full-featured data-bound control that allows its elements to be reordered on the client via drag and drop.
    • TextBoxWatermark: This extender adds "watermark" prompt text to TextBoxes on the page.
    • ToggleButton: This extender turns an ASP.NET CheckBox into an image checkbox.
Copyright © 2006 Microsoft Corporation. All Rights Reserved.