DropDownList empty after postback

October 22, 2010 ASP.NET C# Troubleshooting
Getting an empty DropDownList after postback and although you selected a value, DropDownList.SelectedIndex is -1.

This is most likely the case of the viewstate being turned off. If you manually populate the list, there's a workaround without using the viewstate. This is accomplished by understanding the event order.

Simplified it works as follows:

If your DropDownList doesn't contain any values when ProcessPostData is reached it will ignore the posted values while recreating your DropDownList-control.

The trick is to always populate your DropDownList at Page_Init like:
protected void Page_Init(object sender, EventArgs e) {
MyFunctionForLoadingValuesIntoDropDownList();
}

Now you will have be able to read the selected in your Page_Load or event handler!

Related posts: