perche' hai scelto tre caselle a discesa, se devono contenere un solo valore ?
comunque, un esempio :
codice:
Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
If Not IsPostBack Then
Dropdownlist1.AutoPostBack = True
Dim arr() As Integer = {1, 2, 3, 4, 5}
Dropdownlist1.DataSource = arr
Dropdownlist1.DataBind()
End If
End Sub
Private Sub Dropdownlist1_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles Dropdownlist1.SelectedIndexChanged
Dim arr1() As Integer = {5, 5, 3, 2, 1}
Dropdownlist2.DataSource = arr1
Dropdownlist2.DataBind()
Dim arr2() As Integer = {1, 3, 2, 6, 8}
Dropdownlist3.DataSource = arr2
Dropdownlist3.DataBind()
Dim arr3() As Integer = {4, 3, 2, 1, 7}
Dropdownlist4.DataSource = arr3
Dropdownlist4.DataBind()
End Sub
cioe' ti basta recuperare la sorgente dati di ogni DropDown (nel tuo caso dipendente dalla drop immediatamente precedente, magari prendendo NomeDropPrecedente.SelectedItem.Text come chiave per pescare nel DB successivo) nell'evento selectedindexchanged della prima.
E credo non ci sia bisogno dell'autopostback per le 3 drop 'figlie'. Spero di aver capito qual'era il problema...