19 - Parámetros en un hipervínculo


Habíamos visto que podemos enviar datos al servidor mediante un formulario. En muchas situaciones necesitamos enviar datos al servidor al ser presionado un hipervínculo.

Vamos a resolver un problema muy sencillo donde llamaremos a otra página enviándole como parámetro un número. La página que lo recibe imprime la tabla de multiplicar de dicho valor.

pagina1.html

<html>
<head>
<title>Problema</title>
</head>
<body>
<a href="pagina1.asp?tabla=2">Tabla del 2</a> <br>
<a href="pagina1.asp?tabla=3">Tabla del 3</a> <br>
<a href="pagina1.asp?tabla=4">Tabla del 4</a>
</body>
</html> 

Como podemos observar un parámetro en un hipervínculo se lo añade en la propiedad href y seguido al nombre de la página a llamar mediante el caracter de "?" interrogación. Todo parámetro tiene un nombre y luego del caracter igual el valor del mismo.

<a href="pagina1.asp?tabla=2">Tabla del 2</a> <br>

Ahora la página asp que rescata el valor del parámetro es:

<%option explicit%>
<html>
<head>
<title>problema</title>
</head>
<body>
<%
dim num,f
num=request.querystring("tabla")
response.write("<h1>Tabla de multiplicar del " & num &"</h1>")
for f=num to num*10 step num
  response.write(f & "-")
next
%>
</body>
</html>

Recordemos que para extraer el valor cargado en un control de un formulario HTML utilizamos el objeto request y el método form. En cambio para recuperar el dato enviado en el hipervínculo empleamos el método querystring del mismo objeto request:

num=request.querystring("tabla")

Una vez rescatado el valor procedemos a mostrar los primeros diez términos de la tabla de multiplicar respectiva:

for f=num to num*10 step num
  response.write(f & "-")
next

Es decir inicializamos el contador f con el valor rescatado del parámetro. En cada paso del for incrementamos el contador f en num. Por último indicamos que el ciclo finalice cuando f llegue al valor num*10.

Si queremos pasar más de un parámetro en un hipervínculo debemos separarlos empleando el caracter &.

Por ejemplo:

<a href="pagina1.asp?inicio=5&fin=10">Mostrar los números 
comprendidos entre 5 y 10</a>


Retornar