Conceptos de ASP
A continuación le ofrecemos algunos de los conceptos básicos
de programación en ASP.
Las marcas de código <% ... %> Todo
lo que se escriba en una página ASP es por defecto código HTML que
se envía directo al navegador del cliente, es decir, lo mismo que una página
web. Si se desea escribir código a ejecutar en el servidor, hay que encerrarlo
entre las marcas <% y %>. Por ejemplo, fíjese en el siguiente fragmento
de página ASP: <% nombre = Request.Form("nombre")
passw = Request.Form("passw") if nombre = "root" and passw
= "489602" then boss = True else boss = False End if
%> <form method=POST action = p1.asp> <p>Escriba su
nombre:</p> <p><input type="text" name="nombre"></p>
<p><input type="submit" name="enviar" value="
enviar "></p> </form> Cuando se solicite la página
descrita en el anterior fragmento de código, ocurrirá lo siguiente: En
primer lugar se preprocesa la página ASP en busca de códigos Server
Side Include (por ejemplo <!--#include "pagina.html" -->). Esto
hace que con una sentencia como la anterior se puedan incluir unas páginas
en otras. Se ejecuta el código de servidor. El código HTML
que aparezca se considera que debe ser mostrado directamente. Se envía
el resultado al navegador del cliente, pero excluyendo el código de servidor.
De esa forma el cliente no puede ver el código ejecutable de la página
ASP. Las marcas <SCRIPT> y </SCRIPT> Una alternativa a
las marcas <% y %> son las marcas <script> y </script>. Por
ejemplo, el código del ejemplo anterior quedaría de la siguiente
forma: <SCRIPT LANGUAGE=VBScript RUNAT=Server> nombre = Request.Form("nombre")
passw = Request.Form("passw") if nombre = "root" and passw
= "489602" then boss = True else boss = False Endif
</SCRIPT> <form method=POST action = p1.asp> <p>Escriba
su nombre:</p> <p><input type="text" name="nombre"></p>
<p><input type="submit" name="enviar" value="
enviar "></p> </form> La marca <SCRIPT> se
utiliza también para el código del lado de cliente (el JavaScript
que se ejecuta en el navegador del cliente), por lo que es necesario el modificador
RUNAT=Server con el fin de indicar que hay que ejecutarlo en el servidor. Además,
existe el modificador LANGUAGE, en el que indicamos el lenguaje en el que hemos
escrito el código. Son válidos JavaScript (o JScript que es lo mismo),
VBScript y PerlScript Elección del lenguaje de programación Si
utiliza para el código las marcas <SCRIPT> y </SCRIPT>, puede
elegir el lenguaje de programación mediante el modificador LANGUAGE. Esto
le permite tener scripts en distintos lenguajes dentro de la misma página
ASP. Si desa elegir el lenguaje del código entre las marcas <% y %>,
debe comenzar la página ASP con una sentencia como la que sigue: <%@
LANGUAGE=JavaScript %> Esto hará que todo el código que
se escriba entre <% y %> se considere en JavaScript. El lenguaje por defecto
(el utilizado si no se escribe la sentencia anterior) es el Visual Basic Script. Intercalar
HTML entre el código ejecutable Cuando se utilizan las marcas
<% y %> para encerrar el código ejecutable, es posible intercarlar
HTML. Considere el siguiente código que corresponde a una página
ASP completa. Puede copiar el código y guardarlo con el nombre p1.asp (se
requiere este nombre para que funcione el formulario) en un directorio de su dominio
que tenga permisos de ejecución de scripts y una aplicación definida. <html>
<head> <title>Pequeña prueba</title> </head>
<body> <% nombre = Request.Form("nombre") if nombre
= "" then %> <form method=post action = p1.asp>
<p>Escriba su nombre:</p> <p><input type="text"
name="nombre"></p> <p><input type="submit"
name="enviar" value=" enviar "></p> </form>
<% else %> Hola <b> <%= nombre%></b>. Bienvenido al
mundo del ASP. <%End if %> </body> </html> Fíjese
cómo se muestra una sentencia if then-else-end if que se encuentra fragmentada,
y entre sus partes aparece código HTML. La interpretación es clara:
si la condición es cierta, se mostrará el código HTML que
existe entre el if then y el else (el que corresponde a un formulario). Si la
condición es falsa, se mostrará el que existe entre el else y el
End if (una frase). Intercalar variables en el HTML La construcción
<%= variable %> intercalada entre el código HTML, hace que se muestre
el valor de dicha variable. Por ejemplo, en el script anterior aparece la frase Hola
<b> <%= nombre%></b>. Bienvenido al mundo del ASP que
hace que se muestre en negrita el valor de la variable nombre, que es lo que se
encuentra en el formulario. Formularios que se llaman a sí mismos Los
datos de los formularios son gestionados por el programa que se incluye en la
sección ACTION de la marca FORM. Como las páginas ASP son a la vez
páginas web y ejecutables en el servidor, podemos tener en ellas formularios
que se llaman a sí mismos. Curioso, y en algunos casos muy útil,
como veremos a continuación. Las ventajas de esto son: Compacto.
Tenemos todo en un único archivo. Permite aprovechar las variables
del objeto Session para que el formulario tenga "memoria" de los valores
introducidos la vez anterior, y así mostrarlos por defecto. Un ejemplo
de formulario que se llama a sí mismo es el ejemplo mostrado anteriormente.
Dijimos que había que guardarlo con el nombre p1.asp porque es el nombre
que aparece en el ACTION del formulario. La lógica que sigue dicho script
es la habitual en este tipo de casos: Primero se obtienen las variables
del formulario como si hubiese sido enviado por el usuario. Después
se comprueba si el ASP ha sido llamado directamente o si se trata de un envío
de formulario (llamada del ASP a sí mismo). En el ejemplo, la comprobación
se hace examinando la variable que contiene el dato a introducir en el formulario. Si
el ASP ha sido llamado directamente, entonces lanzamos el código que muestra
el formulario. Si el ASP ha sido invocado al pulsar el botón del
formulario, entonces ejecutamos el código que procesa el formulario. Es
decir, el script ASP que se llama a si mismo tiene dos caras: En una muestra la
página inicial y en la otra el resultado de procesar dicha página. |