try like this
under page load event load the dropdown1 then bind dropdown2 under dropdownlist1 selected index changed event
EX:
cmd = New SqlCommand("select * from sample", con)
dr = cmd.ExecuteReader()
DropDownList1.DataSource = dr
DropDownList1.DataTextField = "name"
DropDownList1.DataValueField = "name"
DropDownList1.DataBind()
dr.Close()
con.Close()
under dropdownlist1 selected index changed event
Protected Sub DropDownList1_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles DropDownList1.SelectedIndexChanged
con.Open()
cmd = New SqlCommand("select * from sample1 where name='" + DropDownList1.SelectedItem.ToString() + "' ", con)
dr = cmd.ExecuteReader()
DropDownList2.DataSource = dr
DropDownList2.DataTextField = "name"
DropDownList2.DataValueField = "name"
DropDownList2.DataBind()
dr.Close()
con.Close()
End Sub