Assuming your lists are DropDownList1, 2 and 3, and your button is
btnOk...
In page_load:
btnOk.Attributes.Add("onClick", "javascript:return validateOk()")
Dim s As String = ""
s &= vbCrLf & "<script language='javascript'><!--" & vbCrLf
s &= vbTab & "function validateOk() {" & vbCrLf
s &= vbTab & vbTab & "if (document.Form1." & DropDownList1.ClientID
& ".selectedIndex == 0) { " & vbCrLf
s &= vbTab & vbTab & vbTab & "alert('Choose from the first
dropdown!');" & vbCrLf
s &= vbTab & vbTab & vbTab & "return false;" & vbCrLf
s &= vbTab & vbTab & "}" & vbCrLf
s &= vbTab & vbTab & "if (document.Form1." & DropDownList2.ClientID
& ".selectedIndex == 0) { " & vbCrLf
s &= vbTab & vbTab & vbTab & "alert('Choose from the second
dropdown!');" & vbCrLf
s &= vbTab & vbTab & vbTab & "return false;" & vbCrLf
s &= vbTab & vbTab & "}" & vbCrLf
s &= vbTab & vbTab & "if (document.Form1." & DropDownList3.ClientID
& ".selectedIndex == 0) { " & vbCrLf
s &= vbTab & vbTab & vbTab & "alert('Choose from the third
dropdown!');" & vbCrLf
s &= vbTab & vbTab & vbTab & "return false;" & vbCrLf
s &= vbTab & vbTab & "}" & vbCrLf
s &= vbTab & vbTab & "return true;" & vbCrLf
s &= vbTab & "}" & vbCrLf
s &= "--></script>" & vbCrLf
Page.RegisterClientScriptBlock("OkButtonVal", s)
You can, of course, omit a lot of the vbTab and vbCrLf stuff...I just
throw it in for readability when debugging.