cardiffcoder
Viewstate is your friend

Persisting the state of DropDownLists in ASP.NET is simpler than you think.
A lot of people will go the way of storing the SelectedIndex in a Session variable on postback then retrieving it and setting the SelectedIndex again on Load - but this is all unnecessary in most circumstances.

If you simply want to set the SelectedValue to be what it was before a PostBack, simply use the EnableViewState options at both Page and Control level.

EnableViewState=”true” in your <@Page attribute at the top of the web form and EnableViewState=”true” in the <ASP:DropDownList control.

And that’s it. No faffing around in the code-behind, trying to grab the SelectedIndex before it gets wiped out by the Page_Load or setting it after the DataBind. Simple as.