First off, this is an ASP.Net question, not one specific to C#. You should post it to the ASP.Net forum for more timely response. Now, unless you personally make some attempt to persist your data source (or reconnect and query it each time) across page turns, it will not persist itself. At the very least, you need to bind your data source to its control after each page turn (Postback or not), and at most - meaning if you don't want to reload your data after each page turn - you need to persist it statefully. The static variable is a bit much for this application, but it proves the point. Is ViewState enabled for your dropdownlist? If you're doing filtering after your initial binding it won't really matter since you'll need access to your datasource, not the expression of the data in the control, but it's something to check. Other ways to do the same thing would be to push the data source to ViewState manually, or use the Session or Application objects - it all depends upon your needs. I would recommend looking up the ASP.Net page life cycle to better understand what happens each time a page is turned (whether it's a new HTTP Request or a Postback). Good luck
The most exciting phrase to hear in science, the one that heralds the most discoveries, is not 'Eureka!' ('I found it!') but 'That's funny...’