Я наследую DropDownList, чтобы добавить два пользовательских элемента ListItems. Первый элемент - «Выбрать один ...», а второй элемент добавляется в конце, его значение - «Пользовательский».
Я переопределяю DataBind и использую следующий код:
Dim data As List(Of ListItem) = CType(DataSource, List(Of ListItem))
data.Insert(0, New ListItem("Select one...", SelectOneListItemValue))
If DisplayCustomOption Then
data.Insert(data.Count, New ListItem("Custom", CustomListItemValue))
End If
DataSource = data
MyBase.DataBind()
Проблема в том, что этот код не будет работать, если DataSource - это что-то отличное от ListItem. Есть ли лучший способ сделать это?