I encounter this problem repeatedly, and haven't a clue what is causing it. I get an exception in the DataBind: SelectedValue which is invalid because it does not exist in the list of items.
Here are some important pieces of information:
- I reload listOrgs periodically when the underlying data has changed.
- The Organization.DTListAll call returns 2 Int, String pairs.
- There are no duplicate or null values in the returned data
- After the first two lines below, listOrgs.Items.Count is 0, and the Selected Value is 0
- The selected value after the DataBind operation executes is the ID value from the first row in the data
- This exception happens the very first time this code is executed after a fresh page load
listOrgs.Items.Clear();
listOrgs.SelectedValue = "0";
listOrgs.DataSource = new Organization().DTListAll(SiteID);
listOrgs.DataTextField = "OrganizationName";
listOrgs.DataValueField = "OrganizationID";
listOrgs.DataBind();