Я думаю, что лучший способ - сначала вставить пустой элемент, а затем связать данные, как вы это делали Однако вам нужно установить свойство AppendDataBoundItems
элемента управления списком.
Мы используем следующий метод для привязки любого источника данных к любому элементу управления списком ...
public static void BindList(ListControl list, IEnumerable datasource, string valueName, string textName)
{
list.Items.Clear();
list.Items.Add("", "");
list.AppendDataBoundItems = true;
list.DataValueField = valueName;
list.DataTextField = textName;
list.DataSource = datasource;
list.DataBind();
}