Связываете ли вы выпадающий список при загрузке страницы? Page_Load происходит до того, как управляющие события, такие как кнопка отправки. Таким образом, если вы выполните повторную привязку в page_load перед проверкой значения в button_submit, оно будет сброшено до первого значения в списке.
Как правило, вы можете избежать этого, используя следующее
Page_Load:
If Not Page.IsPostback() Then
''//Bind controls here
End If
Если это не так, уточните, как вы связываете и используете эти элементы управления.