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.