Cascading AutoComplete

We have received a lot of feedback from users about not being able to pass additional information to the AutoComplete webservice which limits their usage of the extender. We decided to absorb that input and add support to all extenders that issue XmlHttpRequests the option of passing in data above and beyond what is allowed by the standard webservice parameters, something that closely resembles the DynamicPopulate style support, to provide to flexible context. With this support in, you will be able to bind the AutoComplete extender to any controls on the page and have a richer, contextual and relevant set of results returned by the AutoComplete webservice. It will be available in the next release of the Toolkit around the end of May.

I played around with this new feature to see if something interesting could be done with AutoComplete. There was a question about getting AutoComplete to work like CascadingDropDown on the forums which I had earlier considered but dismissed given that it was not easily possible; turns out that the scenario now lights up naturally. I have written a basic version of CascadingAutoComplete and am attaching the project. I have not used ASP.NET DataBinding but simple javascript to set the values of the ContextKey so this solution should work without ASP.NET with little changes. It is not possible to have a fully functional CascadingDropDown with AutoComplete since it is a TextBox and not a DropDown but the input checks can provide a similar experience. You could always add validators or other Toolkit extenders like MaskedEdit, ValidatorCallout out FilteredTextBox to prevent invalid input. There are multiple ways of approaching this and you will need to find the solution that best serves your website's needs. The Toolkit now enables you do more with the extenders. The other controls that can take in additional data are SlideShow and CascadingDropDown itself.

The sample demonstrates a simple lookup scenario where the allowed values in the second textbox are tied to the value in the first one. The second textbox uses the text in the first one to perform a webservice call and retrieve results. Check it out. If you are a movie freak or if you like to read Hollywood gossip, there just might be something more than AJAX to look forward to in the sample. Let us know what you think. We are listening.