CascadingDropDown a flaw and solution in IE and Safari
Objective:
asp.net AJAX Toolkit's cascadingdropdown is simple to use, but there is a noticeable performance flaw in IE and Safari, which is obvious when the data is large and the user selects options using the mouse wheel or keyboard up and down keys. This article describes how to resolve this problem by modifying the toolkit source code. (This issue should be more controversial, perhaps many people do not see it as a flaw, depending on the situation)
Problem Recurrence:
You can go to the ASP.net AJAX Toolkit official display page to see: http://www.asp.net/AJAX/AjaxControlToolkit/Samples/CascadingDropDown/ cascadingdropdown.aspx</p>
As shown in the following figure, when the mouse focus is on the parent list box, if you are using IE or safari, try using the mouse wheel, or the keyboard up and down key to replace the option, you will find that each time the parent list box options change the list box to update the options. This means that each change sends a WebService request to get a collection of list items in the Child list box!
However, under Firefox, we will find that when we try to replace the option with the mouse wheel, or the keyboard up and down key, the options in the Child list box are not updated until the parent list box loses focus.
Imagine that if the set of sub list options is large, the performance of cascadingdropdown in IE or Safari will be a very large loss.
Reason:
I think this phenomenon is due to the different ways in which <select> onchange events are executed under IE or Safari and Firefox.