Lo más importante para aprender ASP es dominar los seis objetos integrados de ASP. Si nunca antes ha estado expuesto a ellos, es lo suficientemente inteligente como para ignorar estos conceptos y simplemente saber cómo usarlos. La clave para aprender ASP desde el principio es copiarlo. Lo más importante es dominar los seis objetos integrados de ASP. De hecho, en la conferencia anterior, ya aprendimos sobre el objeto Response y el método Write, el método Redirect y la propiedad Expires más utilizados en el objeto Response. Cuando ves los conceptos de objetos, métodos, propiedades, colecciones y eventos (¡no conozco ninguno de ellos!), si nunca has estado expuesto a ellos antes, eres inteligente y no te importan estos conceptos. Sólo hay que saber utilizarlos. Mi punto de vista es que es sólo el principio. La clave es copiar. Sigamos aprendiendo el objeto Solicitud a través de ejemplos. Para profundizar nuestra comprensión, ejecute estos programas para ver los resultados.
1. Utilice Request.ServerVariables para obtener variables de entorno. Esta parte es muy simple, pero el contenido obtenido es muy importante. Consulte el siguiente ejemplo:
Copie el código de código de la siguiente manera:
<%@ Idioma=VBScript %>
<HTML><CUERPO>
<% 'wuf8.asp
Response.Write Ruta para ejecutar el archivo ASP: &_
Request.ServerVariables(Script_Name) y <Br>
Response.Write devuelve la longitud de los datos del contenido: &_
Solicitud.ServerVariables(Content_Length) & <Br>
Response.Write devuelve la dirección IP del cliente: &_
Request.ServerVariables(Remote_Addr) y <Br>
Respuesta.Escribir nombre del navegador: &_
Solicitud.Variables del servidor (HTTP_USER_AGENT) y <Br>
Response.Write devuelve la ruta física real a la página de inicio: &_
Solicitud.ServerVariables(APPL_PHYSICAL_PATH) & <Br>
%>
<tabla colspan=8 cellpadding=5 borde=0>
<tr>
<td align=CENTER bgcolor=#800000 width=109> <font style=ARIAL NARROW color=#ffffff size=2>Nombre de variable de entorno</font></td>
<td align=CENTER width=459 bgcolor=#800000> <font style=ARIAL NARROW color=#ffffff size=2>Contenido</font></td>
</tr>
<tr>
<td bgcolor=f7efde align=CENTRO> <estilo de fuente=ARIAL NARROW tamaño=2>
resultado1
</font></td>
<td bgcolor=f7efde align=CENTRO> <estilo de fuente=ARIAL NARROW tamaño=2>
resultado2
</font></td></tr>
</tabla>
</BODY></HTML>
¡Ahora deberías descubrir lo fácil que resulta ser la rutina wuf2.asp de la lección anterior!
Nota: El marcado HTML en la última parte de este programa es puramente una preparación para el siguiente ejemplo, así que no se sorprenda. Entonces, ¿qué otras variables de entorno existen? Lo sabrá ejecutando el siguiente ejemplo (este programa ha eliminado algunos códigos, es mejor descargar el programa fuente de mi sitio para una mejor comprensión).
Copie el código de código de la siguiente manera:
<%@ Idioma=VBScript %>
<% 'wuf9.asp
Opción explícita
Sv tenue
%>
<HTML><CUERPO>
<tabla colspan=8 cellpadding=5 borde=0>
<tr>
<td align=CENTER bgcolor=#800000 width=109> <font style=ARIAL NARROW color=#ffffff size=2>Nombre de variable de entorno</font></td>
<td align=CENTER width=459 bgcolor=#800000> <font style=ARIAL NARROW color=#ffffff size=2>Resultados</font></td>
</tr>
<%
para cada Sv en Request.ServerVariables
Respuesta.Escribir<tr>
Response.Write <td bgcolor='f7efde' align=CENTER> <font style='ARIAL NARROW' size='2'>
Respuesta.Escribir Sv
Respuesta.Escribir </font></td>
Response.Write <td bgcolor='f7efde' align=CENTER> <font style='ARIAL NARROW' size='2'>
Respuesta.Solicitud de escritura.Variables del servidor(Sv)
Respuesta.Escribir </font></td></tr>
próximo
%>
</tabla>
</BODY></HTML>
Aquí se utiliza un bucle For...Each para enumerar todos los elementos de una colección. Si no comprende la segunda mitad, compare wuf8.asp, observe los resultados de ejecución y comprendalo cuidadosamente (¿cuál es su actitud?).
2. Transmitir datos al servidor a través del formulario (esto también puede entenderse como cómo el servidor lee los datos enviados por el cliente)
Si ha trabajado en una página de inicio, debe saber que muchas páginas de inicio generalmente usan formularios para permitir a los usuarios ingresar datos y luego enviarlos a través del botón Enviar. Hay dos métodos principales en el formulario De: POST y GET Después de la acción, generalmente se especifica un archivo .cgi, .pl o .asp. Lo que vamos a aprender hoy es cómo escribir este archivo .asp.
(1) Si utiliza el método POST para transmitir datos, utilice Request.Form para leer los datos.
Primero edite el siguiente archivo wuf10.htm para que los usuarios ingresen datos:
Copie el código de código de la siguiente manera:
<html>
<cuerpo bgcolor=#FFFFFF>
<método de formulario=acción de publicación=wuf11.asp>
Nombre: <tipo de entrada=nombre de texto=tu nombre><br>
Género: <seleccione nombre=género>
<opción>Hombre</opción>
<opción>Mujer</opción>
</seleccionar> <br>
Mensaje: <nombre del área de texto=mensaje>¡Hola!
Preste atención al procesamiento de texto de varias líneas</textarea> <br>
Pasatiempos (mantenga presionada la tecla Ctrl para seleccionar varios):
<seleccionar nombre=tamaño múltiple de hobby=4>
<opción>Computadora</opción>
<opción>Compras</opción>
<opción>Películas</opción>
<opción>Lectura</opción>
</seleccionar> <br>
<tipo de entrada=enviar nombre=Enviar valor=Enviar>
<tipo de entrada=restablecer nombre=Enviar2 valor=Restablecer>
</formulario>
</cuerpo>
</html>
Luego escriba un archivo wuf11.asp que wuf10.htm debe usar para recopilar datos:
Copie el código de código de la siguiente manera:
<%@ Idioma=VBScript %>
<% 'wuf11.asp
Opción explícita
Respuesta.Expira=0
Dim StrName, StrGender, StrM, StrMsg
StrName = Trim(Request.Form(su nombre)) 'La función de recorte se utiliza para eliminar espacios iniciales y finales
StrGender = Recortar(Solicitud.Form(género))
StrM = Recortar(Solicitud.Formulario(mensaje))
StrMsg = Reemplazar(StrM,vbcrlf,<Br> & vbcrlf)
' vbcrlf es equivalente a la combinación de retorno de carro y avance de línea. En cuanto a la función Reemplazar, su función es reemplazar vbcrlf en la cadena StrM con <Br> y vbcrlf (¿piense en el uso de este vbcrlf? Lo entenderá mirando el código fuente HTML del archivo de salida). Consulte la ayuda de VBScript para obtener más detalles.
%>
<HTML><CUERPO>
Nombre: <%= StrName%><Br><Br>
Género: <%= StrGender%><Br><Br>
Mensaje: <Br><Br>
<%= StrM%><Br><Br>
<%= MensajeStr%><Br><Br>
De hecho, también se pasa el valor del botón de enviar: <Br>
<%= Solicitud.Formulario(Enviar)%><Br><Br>
<% 'Primero comprenda lo anterior y luego vea cómo leer múltiples opciones si está interesado
Response.Write Número de pasatiempos seleccionados en total: & Request.Form(hobby).Count & <Br>
Yo oscuro
Para I = 1 para Request.Form(hobby).Count
Respuesta.Escribir solicitud.Formulario(hobby)(I) & <Br>
Próximo
%>
</BODY></HTML>
En este ejemplo, para facilitar la comprensión, utilizamos dos programas. De hecho, también puede utilizar solo un programa. Si está interesado, consulte la siguiente rutina wuf12.asp, que le ayudará a profundizar su comprensión de las variables de entorno.
Copie el código de código de la siguiente manera:
<%@ Idioma=VBScript %>
<% 'wuf12.asp
Opción explícita
Respuesta.Expira=0
Dim StrName, StrGender, StrM, StrMsg
Si Request.ServerVariables (Content_Length) <> 0 Entonces
'Después de enviar los datos, la longitud no será 0, así que ejecute la siguiente declaración para mostrar el resultado
'La siguiente parte en realidad está copiada de wuf11.asp.
StrName = Trim(Solicitud.Form(su nombre))
StrGender = Recortar(Solicitud.Form(género))
StrM = Recortar(Solicitud.Formulario(mensaje))
StrMsg = Reemplazar (StrM,vbcrlf,<Br> & vbcrlf)
%>
<HTML><CUERPO>
Nombre: <%= StrName%><Br><Br>
Género: <%= StrGender%><Br><Br>
Mensaje: <Br><Br>
<%= StrM%><Br><Br>
<%= MensajeStr%><Br><Br>
<%
Response.Write Número de pasatiempos seleccionados en total: & Request.Form(hobby).Count & <Br>
Yo oscuro
Para I = 1 para Request.Form(hobby).Count
Respuesta.Escribir solicitud.Formulario(hobby)(I) & <Br>
Próximo
%>
</BODY></HTML>
<%
Demás
'Cuando la página se carga por primera vez, no se envían datos, por lo que la parte anterior no se ejecuta, sino que comienza desde aquí.
'Es por eso que hay dos pares de <HTML></HTML>
'Simplemente copie wuf10.htm a continuación.
'<form Method=post action=wuf11.asp> ha sido reemplazado con variables de entorno, pero es exactamente igual
Response.Write para ver el resultado: & Request.ServerVariables(Script_name) & <Br>
%>
<HTML><CUERPO>
<método de formulario=acción de publicación=<%= Request.ServerVariables(Script_name)%>>
Nombre: <tipo de entrada=nombre de texto=tu nombre><br>
Género: <seleccione nombre=género>
<opción>Hombre</opción>
<opción>Mujer</opción>
</seleccionar> <br>
Mensaje: <nombre del área de texto=mensaje>¡Hola!
Preste atención al procesamiento de texto de varias líneas</textarea> <br>
Pasatiempos (mantenga presionada la tecla Ctrl para seleccionar varios):
<seleccionar nombre=tamaño múltiple de hobby=4>
<opción>Computadora</opción>
<opción>Compras</opción>
<opción>Películas</opción>
<opción>Lectura</opción>
</seleccionar> <br>
<tipo de entrada=enviar nombre=Enviar valor=Enviar>
<tipo de entrada=restablecer nombre=Enviar2 valor=Restablecer>
</formulario>
</BODY></HTML>
<%Finalizar si%>
(2) Si utiliza el método GET para transmitir datos, utilice Request.Querystring para leer los datos.
Primero edite el siguiente archivo wuf13.htm para que los usuarios ingresen datos:
<html>
<cuerpo bgcolor=#FFFFFF>
<método de formulario=obtener acción=wuf14.asp>
Nombre en inglés: <tipo de entrada=nombre de texto=Ename> <br>
Nombre chino: <tipo de entrada=nombre de texto=Cname><br>
Género: <seleccione nombre=género>
<opción>Hombre</opción>
<opción>Mujer</opción>
</seleccionar> <br>
<tipo de entrada=enviar nombre=Enviar valor=Enviar>
<tipo de entrada=restablecer nombre=Enviar2 valor=Restablecer>
</formulario>
</cuerpo>
</html>
Luego escriba un archivo wuf14.asp que wuf13.htm debe usar para recopilar datos:
<%@ Idioma=VBScript %>
<% 'wuf14.asp
Opción explícita
Respuesta.Expira=0
Dim StrCname, StrEname, StrGender
StrEname = Trim(Request.QueryString(Ename)) 'La función Trim se utiliza para eliminar espacios iniciales y finales
StrCname = Recortar(Solicitud.QueryString(Cname))
StrGender = Recortar (Request.QueryString (género))
%>
<HTML><CUERPO>
Nombre en inglés: <%= StrEname%><Br><Br>
Nombre chino: <%= StrCname%><Br><Br>
Género: <%= StrGender%><Br><Br>
Eche un vistazo a la cadena enviada: <Br>
<%= Solicitud.ServerVariables(Query_String)%>
</BODY></HTML>
Para comprender mejor este programa, será mejor que pruebe primero el efecto de la rutina wuf13.htm en el navegador y observe los resultados de salida. Encontrará que la cadena larga en la barra de direcciones le resulta familiar, como cuando. buscando en Yahoo Visto más o menos lo mismo. En este momento, intenta ingresar http://localhost/wuf14.asp?Ename=Rose&Cname=李二&gender=女 directamente en la barra de direcciones y obtiene el mismo resultado. Entonces puedes verlo de esta manera, el resultado de wuf13.htm es obtener un enlace con parámetros como este. Request.QueryString lee cada dato de los parámetros adicionales de la dirección http://.
De hecho, cuando se presiona el botón Enviar, la cadena de consulta (datos de entrada) se agregará a la dirección URL en forma de parámetros (cada parámetro está separado por &) para lograr el propósito de transferir datos. Al mismo tiempo, tenga en cuenta que no hay chino en la cadena de consulta que se muestra en el navegador, sino caracteres confusos irreconocibles que contienen signos de porcentaje. Esto se debe a que está codificado. Finalmente, como antes, estos dos programas también se pueden fusionar en uno solo (rutina wuf15.asp, debes descargarlo de mi sitio).
Algunas notas :
1. Si utiliza el método POST para enviar datos, Request.ServerVariables(Content_Length)>0.
Si utiliza el método GET para enviar datos, Request.ServerVariables(Query_String) <>.
2. Después de comprender el principio, puede combinar Request.Form y Request.QueryString en el mismo archivo ASP.
3. Si hay varios botones en un formulario, ¿cómo se determina qué botón presionó el usuario? Si presta atención, encontrará que hay una oración en la rutina wuf11.asp que dice que el valor del botón de envío también se transmite, y se puede encontrar un valor similar en la cadena de consulta generada en wuf13.htm. Tenga en cuenta: solo se transmite el valor del botón presionado, y los valores de otros botones son la base para el juicio (el sitio web InfoWeb de "China Planning News" tiene un artículo similar).