Ajax Control Toolkit

Release Notes

This Toolkit release targets two different versions of the .NET Framework:

Version 3.5.11119.0 for .NET Framework 3.5 and Visual Studio 2008

Toolkit version 3.5.11119.0 is supported on .NET 3.5 Framework and Visual Studio 2008. It has specific fixes that will make your designer experience in Visual Studio 2008 much better when working with extenders.

Note: Toolkit version 3.5.11119.0 is only for users who are building on top of .NET Framework 3.5 using Visual Studio 2008. If you are using .NET Framework 2.0 and Visual Studio 2005 then you should use Toolkit version 1.0.11119.0.

Setting up the environment to use the Toolkit:
  • Follow the instructions to download and install Visual Studio 2008 from here.
  • Download the AjaxControlToolkit-Framework3.5.zip or AjaxControlToolkit-Framework3.5-NoSource.zip from the Toolkit Releases page.

Features:
  • JavaScript IntelliSense support: We have added reference tags to all Toolkit JavaScript files that enables you to take advantage of new features in Visual Studio 2008. With the multi-targeting support in this Visual Studio Beta, IntelliSense will be available for the ASP.NET AJAX 1.0 flavor of the Toolkit as well. This article discusses the reference tag feature in detail.
  • Extender designer support: Enhanced designer support for Toolkit controls using the new "Add Extender" user interface.
  • Animations and PageMethods in design mode: Design mode workarounds that targeted Visual Studio 2008 Beta 2 issues when using Animations and "Add PageMethod" support in the Toolkit have removed since the release version of Visual Studio 2008 has fixed the same.

Version 1.0.11119.0 for ASP.NET AJAX version 1.0 and .NET Framework 2.0 (No changes from 1.0.10920)

Setting up the environment to use the Toolkit:

Release Notes


Version 1.0.10920.0


It has two flavors that work against two versions of the .NET Framework:
  • ASP.NET AJAX version 1.0 and .NET Framework 2.0
  • .NET Framework 3.5 Beta 2 (includes ASP.NET AJAX), details below


The TemplateVSI project has a dependency on vjslib.dll which is a part of the Visual J# Redistributable Package. If you would like to build that project successfully then please install the package from here.


General fixes:
  • Controls with Embedded styles (Calendar, Tabs and Slider): Toolkit controls no longer need explicit style references when loaded asynchronously. For example, if a Calendar control is placed inside an UpdatePanel and made visible on an UpdatePanel postback, the embedded styles are now loaded properly.
  • PopupBehavior positioning (AutoComplete, Calendar, DropDown, HoverMenu, ListSearch, PopupControl and ValidatorCallout): PopupBehavior now respects the position of its parent element even when the browser window is very narrow or the parent element is close the window edge.
  • Focusing extended controls (Accordion, CollapsiblePanel, DropShadow, Tabs): Pages that use Toolkit controls which re-parent DOM elements can use a workaround to focus a specific element on page load. The new method Utility.SetFocusOnLoad ensures that the desired control receives focus.


Control specific fixes:

  • Calendar: Property to specify the position of Calendar, a default date feature that allows the calendar to start out with a selected date, and a consistent show, hide and focus story that makes the Calendar user experience more intuitive.
  • ModalPopup: Ability to disable repositioning of the ModalPopup in response to window resize and scroll.
  • ConfirmButton: ModalPopup functionality now supported in addition to the regular windows alert dialog.
  • MaskedEdit: Extended Textbox no longer uses Invariant culture if no CultureName is specified and falls back to the Page Culture.
  • AutoComplete: Allow users to associate additional data with the AutoComplete suggestions.
  • Slider: Slider can be easily customized using its various CSS properties.

Breaking Changes:

  • No breaking changes

Known Issues:

  • No new issues


Toolkit for .NET Framework 3.5 Beta 2 and Visual Studio 2008 Beta 2:

This is the second Toolkit version that also has a flavor that is supported on .NET 3.5 Framework Beta 2 and Visual Studio 2008 Beta 2. If you are trying out Beta 2 then you can also try out the Toolkit with it.

Note: This Toolkit flavor is only for users who are using Beta 2. If you are not using Beta 2 and you attempt to use this flavor of the Toolkit against .NET Framework 2.0 and Visual Studio 2005 it is not supported and will not work.

Setting up the environment to use the Toolkit with Beta 2:
  • Follow the instructions to download and install Beta 2 from here.
  • Download the AjaxControlToolkit-Framework3.5.zip or AjaxControlToolkit-Framework3.5-NoSource.zip from the Toolkit Releases page.

Features:
  • JavaScript IntelliSense support: We have added reference tags to all Toolkit JavaScript files that enables you to take advantage of new features in Visual Studio 2008 Beta 2. With the multi-targeting support in this Visual Studio Beta, IntelliSense will be available for the ASP.NET AJAX 1.0 flavor of the Toolkit as well. This article discusses the reference tag feature in detail.
  • Extender designer support: Enhanced designer support for Toolkit controls using the new "Add Extender" user interface.

Known issues with the Toolkit and Beta 2:
  • Pages with controls using Toolkit Animations may not work properly if edited in design mode. This is a known issue with Beta 2 and should be fixed in future releases.


Release Notes


Version 1.0.10618.0

This is a refresh release that fixes some of the issues discovered in the 1.0.10606.0 release.


It has two flavors that work against two versions of the .NET Framework:
  • ASP.NET AJAX version 1.0 and .NET Framework 2.0
  • .NET Framework 3.5 Beta 2 (includes ASP.NET AJAX), details below


General fixes:
  • Tabs: Resolved NamingContainer issues so that FindControl works as expected in Tabs.
  • ToolkitScriptManager: Shorter combined script URLs and new HTTP handler support for generation of combined script files.
  • Dependencies: Removed explicit reference to VsWebSite.Interop.dll and stdole.dll. They will not be automatically included in the web configuration files by Visual Studio.
  • FilteredTextBox: Navigation, Control and Delete keys work fine in all browsers.
  • Localization: Turkish, Dutch, and Traditional and Simplified Chinese language support added.

Breaking Changes:

  • No breaking changes

Known Issues:

  • No new issues


Toolkit for .NET Framework 3.5 Beta 2 and Visual Studio 2008 Beta 2:

This Toolkit version now has a flavor that is supported on .NET 3.5 Framework Beta 2 and Visual Studio 2008 Beta 2. If you are trying out Beta 2 then you can also try out the Toolkit with it.

Note: This Toolkit flavor is only for users who are using Beta 2. If you are not using Beta 2 and you attempt to use this flavor of the Toolkit against .NET Framework 2.0 and Visual Studio 2005 it is not supported and will not work.

Setting up the environment to use the Toolkit with Beta 2:
  • Follow the instructions to download and install Beta 2 from here.
  • Download the AjaxControlToolkit-Framework3.5.zip or AjaxControlToolkit-Framework3.5-NoSource.zip from the Toolkit Releases page.

What's new in the Toolkit for Beta 2?
  • Enhanced designer support for Toolkit controls like the new "Add Extender" user interface.

Known issues with the Toolkit and Beta 2
  • Pages with controls using Toolkit Animations may not work properly if edited in design mode. This is a known issue with Beta 2 and should be fixed in future releases.


Version 1.0.10606.0 - Requires ASP.NET AJAX version 1.0


General fixes:

  • Design Mode support:
    • Tabs designer: Tabs control can be configured in the designer.
    • PageMethods in code-behind: Extenders that consume web services can now have PageMethods added to code-behind automatically when using the designer. A repair mode fixes existing PageMethods with incorrect signatures.
    • Control icons: Toolkit controls have more meaningful icons that show up in the Visual Studio Toolbox when the Toolkit DLL is added to it.
  • Dynamic context: Toolkit extenders that consume web services can now pass additional context beyond what is used by the default web service signature.
  • Validators and Toolkit extenders: Extenders that target TextBoxes with ASP.NET validators attached to them no longer interfere with the validation process.
  • Animation support: Toolkit controls that build on top of PopupBehavior now have generic animation support built in.
  • Script combiner: When the ToolkitScriptManager is used, Toolkit scripts are downloaded in a single, common JavaScript file instead of multiple files. This allows for faster downloads and fewer roundtrips. The combined file is generated dynamically depending on the controls being used on the page. All Toolkit sample pages use this new functionality.
  • Events support: Toolkit controls fire events for core actions. This is in part to make plugging in animation easier and also to allow users to hook into the various Toolkit controls' behaviors and perform custom actions.
  • Bug fixes: This release includes fixes for over 120 issues tracked in the Toolkit Issue Tracker representing over 750 user votes.
  • Accessibility fixes: Slider and AutoComplete have support for high contrast and some controls like AutoComplete, NumericUpDown, CascadingDropDown and DynamicPopulate which issue XmlHttpRequests update a hidden DOM element to automatically refresh the JAWS screen buffer to reflect new data.

Control updates:

  • MaskedEdit extender works well with the Calendar extender and the ValidatorCallout extender when targeting the same TextBox.
  • AutoComplete supports scrolling in the fly-out, multi-word, first word default selection and it has animation built into it.
  • ModalPopup fix for most common scenarios involving absolute and relative positioning.
  • NumericUpDown has new Minimum and Maximum properties to restrict the range of numbers allowed.


Visual Studio Codename "Orcas" support:

  • The Toolkit DLL works with ASP.NET AJAX Orcas Beta 1 DLLs and there are no breaking changes.

Breaking Changes:

  • No breaking changes

Known Issues:

  • No new issues


Version 1.0.10301.0 - Requires ASP.NET AJAX version 1.0


New Controls:

  • ListSearch: Extender that searches for items in a listbox or dropdown
  • SlideShow: Extender for image controls that lets you transition through a set of pictures

General Notes:

  • Skinning support added for extenders; all demo page collapsible panels are now themed
  • Localization infrastructure added to Toolkit, specifically, the "Today" string in the Calendar control is localized in 14 languages
  • JavaScript comment stripper added to the Toolkit which cuts the size of the scripts by about half on average
  • Accessibility fixes made to the website and controls in terms of keyboard support, specifically, Accordion, CollapsiblePanel, Calendar and NumericUpDown
  • Accordion, Slider and ReorderList bug fixes


Breaking Changes:

  • No breaking changes

Known Issues:

  • No new issues


Version 1.0.10201.0 - Requires ASP.NET AJAX version 1.0

This is an update release for the Toolkit. We have fixed some issues that were raised since the 10123 release.


General Notes:

  • Fixed AutoComplete and TabPanel dispose issues exposed by UpdatePanels
  • Fixed TextBoxWatermark issue where the textbox retained focus even though the watermark showed up
  • Fixed Calendar localization issues
  • Simplified ModalPopup drag behavior


Breaking Changes:

  • No breaking changes

Known Issues:

  • No new issues


Version 1.0.10123.0 - Requires ASP.NET AJAX version 1.0

This is a major release for the Toolkit. We have ported over all fixes in the development branch and have brand new set of controls, feature changes and script base classes.


New Controls:

  • AutoComplete: The much-requested control that provides suggestions to complete input typed in a textbox
  • Calendar: Client-side calendar control
  • MaskedEdit: Control to enforce input entered into a text box is in a specific format complying with specific types using client-side validation
  • TabContainer: Tab strip control to organize page content

General Notes:

  • Updated the Toolkit framework, all controls, all samples, and all documentation for the new ASP.NET AJAX v1.0
  • Bug Fixes: Over 75 issue fixes in the Toolkit development branch are a part of this release making it those most stable and feature rich one so far
  • ModalPopup changes: Added absolute positioning, drag/drop ability, async post-back support
  • RounderCorners: Added ability to specify which corners to round
  • ExtenderBaseControl/Script changes: Revised ExtenderControlBase architecture to make it easier to author new Toolkit Controls


Breaking Changes:

  • No breaking changes

Known Issues:

  • No new issues


Version 1.0.61214.0 - Requires ASP.NET AJAX v1.0 RC

General Notes:

  • Updated the Toolkit framework, all controls, all samples, and all documentation for the new ASP.NET AJAX v1.0 RC
  • Added missing Accordion property attributes
  • Fixed Slider initialize, reposition, and default value code
  • Enhanced ModalPopup tab-prevention for background elements

Breaking Changes

  • No breaking changes

Known Issues

  • No new issues


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

  • Technically, 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.