La colección QueryString
La colección QueryString recupera los valores del formulario pasados al servidor Web como texto a continuación del signo de interrogación de la dirección URL de la petición. Los valores del formulario se pueden anexar a la dirección URL de la petición mediante el método GET de HTTP o, manualmente, si se agregan los valores del formulario a la dirección URL.
Si el ejemplo del formulario anterior utilizara el método GET (METHOD = "GET") y el usuario escribiera Juan , Soto y 30 , se enviaría la siguiente petición URL al servidor:
http://Workshop1/Painting/Profile.asp?Nombre=Juan&Apellido=Soto&Edad=30&EstadoUsuario=Nuevo
El archivo Profile.asp podría contener la siguiente secuencia de comandos para procesar formularios:
Hola, <%= Request.QueryString("nombre") %>
<%= Request.QueryString("apellido") %>.
Tiene <%= Request.QueryString("edad") %> años.
<% If Request.QueryString("EstadoUsuario") = "Nuevo" Then
Response.Write "Ésta es su primera visita a este sitio Web"
End if %>
En este caso, el servidor Web devolvería el texto siguiente al explorador Web del usuario:
Hola Juan Soto. Tiene 30 años. Ésta es su primera visita a este sitio Web
La colección QueryString también tiene un parámetro opcional que puede utilizar para tener acceso a uno de los múltiples valores que se encuentran en el cuerpo de la petición URL (con el método GET). También puede utilizar la propiedad Count para contar el número de veces que aparece un determinado tipo de valor.
Por ejemplo, un formulario que contenga un cuadro de lista con varios elementos puede generar la siguiente petición:
http://OrganicFoods/list.asp?Comida=Manzanas&Comida=Aceitunas&Comida=Pan
Podría utilizar el siguiente comando para contar los diferentes valores:
Request.QueryString("Comida").Count
Para presentar los tipos de valores, Lista.asp podría contener la secuencia de comandos siguiente:
<% lngTotal = Request.QueryString("Comida").Count
For i = 1 To lngTotal
Response.Write Request.QueryString("Comida")(i) & "<BR>" Next %>
La secuencia de comandos anterior mostraría: Manzanas Aceitunas
Pan También puede mostrar la lista completa de valores como
una cadena delimitada por comas, del modo siguiente:
<% Response.Write Request.QueryString("Item") %>
Aparecería la cadena siguiente:
Manzanas, Aceitunas, Pan
Colección Form
Cuando utiliza el método GET de HTTP para pasar a un servidor Web valores de un formulario grande y complejo, corre el riesgo de perder información. Algunos servidores Web tienden a restringir el tamaño de la cadena de petición de URL, por lo que los valores de los formularios grandes pasados con el método GET podrían quedar truncados. Si necesita enviar una gran cantidad de información desde un formulario a un servidor Web, debe utilizar el método POST de HTTP. El método POST, que envía los datos de los formularios en el cuerpo de la petición HTTP, puede enviar un número casi ilimitado de caracteres a un servidor. Puede utilizar la colección Form del objeto Request de ASP para recuperar los valores enviados mediante el método POST.
La colección Form almacena valores de manera similar a la colección QueryString . Por ejemplo, si un usuario completa un formulario escribiendo una larga lista de nombres, se podrían leer los nombres con la secuencia de comandos siguiente:
<% lngTotal = Request.Form("Comida").Count
For i = 1 To lngTotal
Response.Write Request.Form("Comida")(i) & "<BR>" Next %>
|