primero cuando cargas el primer dropdownlist debe de ser algo asi:
Código:
sub page_load(byVal Sender As System.Object, ByVal e As System.EventArgs)handles MyBase.load
if page.ispostback = false then
Drop1.Items.Add(New ListItem("", ""))
For x As Integer = 0 To Ds.Tables("Consulta1").Rows.Count - 1
Drop1.Items.Add(New ListItem(Ds.Tables("Consulta1").Rows(x)("texto a mostrar"), Ds.Tables("Consulta1").Rows(x)("valor")))
Next x
drop1.selectedIndex = 0
end if
end sub
esto va a hacer que cuando mandes a cargar el segundo dropdown se mantengan los valores en el primer drop
ahora para cargar el segundo drop con la info corrspondiente primero verifica que el autopostback del droplist sea TRUE
el codigo quedaria algo asi:
Código:
Private Sub Drop2_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Drop2.SelectedIndexChanged
Adapter = new SqlDataAdapter ("SELECT * FROM MiTabla where(MiCampo= " & drop1.selectedValue & " )",cnx)
Adapter.fill(Ds,"miConsulta")
cnx.close()
With drop2
.DataSource = ds.Tables("miConsulta").defaultView
.DataValueField = "Valor"
.DataTextField = "Texto a mostrar"
.DataBind()
.SelectedIndex = 0
End With
End Sub
ds.Tables.Remove("miConsulta")
espero te sirva de algo