Question: I just want an ASP.NET DropDownList with no selected item. Setting SelectedIndex to -1 is of no avail, so far. I am using Framework 3.5 with AJAX, i.e. this DropDownList is within an UpdatePanel.
Here is what I am doing:

```
    protected void Page_Load (object sender, EventArgs e)
    {
        this.myDropDownList.SelectedIndex = -1;
        this.myDropDownList.ClearSelection();

        this.myDropDownList.Items.Add("Item1");
        this.myDropDownList.Items.Add("Item2");
    }

```

The moment I add an element in the DropDown, its SelectedIndex changes to 0 and can be no more set to -1 (I tried calling SelectedIndex after adding items as well)... What I am doing wrong? Ant help would be appreciated!

Answer: 
I am reading the following:
<http://msdn.microsoft.com/en-us/library/a5kfekd2.aspx>

It says:
To get the index value of the selected item, read the value of the SelectedIndex property. The index is zero-based. If nothing has been selected, the value of the property is -1. 

In the same time, at <http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.dropdownlist.selectedindex(VS.80).aspx> we see:

Use the SelectedIndex property to programmatically specify or determine the index of the selected item from the DropDownList control. An item is always selected in the DropDownList control. You cannot clear the selection from every item in the list at the same time.

Perhaps -1 is valid just for getting and not for setting the index? If so, I will use your 'patch'.
The selectedIndex can only be -1 when the control is first initalised and there is no items within the collection.

It's not possible to have no item selected in a web drop down list as you would on a WinForm.

I find it's best to have:
this.myDropDownList.Items.Add(new ListItem("Please select...", ""));

This way I convey to the user that they need to select an item, and you can check SelectedIndex == 0 to validate