Question: Are you re-binding the dropdownlist control when you postback (for
example, in Page Load?)
If so, that will change the SelectedIndex. You can surround your
databinding code with the following:
If Not Page.IsPostBack Then
'Databind the control.
End If
Note that this won't work if you have ViewState disabled enabled (enabled is
the default). If you have ViewState disabled or have to rebind on every
postback (for some reason), then you can get the value of the selected item
and then set the DDL with the following:
'Databind the control
If Page.IsPostBack Then
MyDropDownList.SelectedValue = MyDropDownList.ClientId
End If
(Of course, change the control names to match ... )