Question: I have a ASP.Net WebForms page that has 2 drop-down lists (1 with 10 options, the other with about 600) and about 5 panels. Based on what value is selected from the drop-downs, other panels are made visible or invisible during async postback by querying a database.

My dilemma is this: The page is not fast enough on a slow connection, particularly during page load. When looking at the rendered page, the size of viewstate is large, even on initial load. Also, there is a large amount of data needing to populate the drop-downs, which could be contributing to the viewstate size.

Are there any suggestions to speed this page up?

Answer: 
Maybe load the options of the second dropdown list on-demand (e.g. using [AutoComplete of the AJAX control toolkit](http://www.asp.net/ajaxLibrary/AjaxControlToolkitSampleSite/AutoComplete/AutoComplete.aspx) or a similar control).
You can do all sorts of things to eek out performance!

1) Take a look at [Yahoo's performance rules](http://developer.yahoo.com/performance/rules.html) to get you started. These are generally a list of best practices to help speed up your website.

2) Take a look at Chromes Inspector (Settings -> Tools -> Developer tools) or the equivalent for other browsers (Firebug in firefox and I believe IE9 has tooling as well) to find out where the major pain points are. They will show you everything from file sizes, to the number of requests made and the page load breakdown.

3) Look into AJAX and lazy loading things as necessary. The load time will still be there, but it will be much less noticeable to the user

4) Check the performance of your queries and see if you can optimize them.

Hope this helps!