This weeks lunchtime training at SSW was about dealing with large (over 50,000 records) in ASP.NET. It was also my first screencast, so be sure to check out the video.
The Databound Drop Down List
I covered the disadvantages of trying to display a list of clients in a drop down list. The rendered page for 50,000 records
The drop down list:
- Rendered out a 5MB page
- Took 17 minutes to load on a dialup account
The RadComboBox
So instead we should use paging, search and AJAX to reduce the initial hit and only load what you actually need.
I used a very versatile control from Telerik called the RadComboBox. It has support for AJAX calls (ItemsRequested event) as well as virtual scrolling.
This reduced the rendered page to:
- 155KB (150KB cached javascript resource files)
- loading in a few seconds
Resources
- Slide Deck
- Firebug (for Firefox)