Revisa este código: PaginaPrueba.asp
<%
dim valor
valor=""
'con el request.querystring voy a recuperar el value del select luego de hacer un auto submit
valor=Request.QueryString("valor")
if not len(trim(valor))=0 then
'Con el if puedo evaluar si el valor que estoy recibiendo es una cadena
'vacía o tiene algún valor válido.
'En caso tenga un valor válido significa que viene del auto submit.Response.Write("ahora que tengo el valor del select (" &
trim(Valor) & ") puedo usarlo desde el asp como
por ejemplo hacer búsquedas en la base de datos")
Response.End
end if
%>
<!--Aca comienza el html, se va a ejecutar por primera vez -->
<!--dado a que en la primera ejecución la página no está recibiendo ningún parámetro y por la -->
<!--condición dada en el asp no se va a ejecutar-->
<html>
<head>
<title></title>
</head>
<body>
<!-- En el evento onChange del select se llama a una función que recuperará el valor del select -->
<select name=prueba id=prueba
onchange='javascript:recuperaselect();'>
<option value="Valor de la opcion 1">Opcion 1 de prueba</option>
<option value="Valor de la opcion 2">Opcion 2 de prueba</option>
<option value="Valor de la opcion 3">Opcion 3 de prueba</option>
<option value="Valor de la opcion 4">Opcion 4 de prueba</option>
</select>
<script language=javascript>
function recuperaselect(){seleccion=document.getElementById('prueba');
//Recupera el value del select
valor=seleccion.value;
//aca hace un auto submit enviando como parámetro el valor del select
document.location='PaginaPrueba.asp?valor='+valor;
}</script>
</body>
</html>