Combinar HTML y comandos de secuencias de comandos

Dentro de los delimitadores de ASP puede incluir cualquier instrucción, expresión, procedimiento u operador que sea válido en el lenguaje principal para secuencia de comandos. Una instrucción , en VBScript y en otros lenguajes, es una unidad sintácticamente completa que expresa un tipo de acción, declaración o definición. La instrucción condicional If…Then…Else que aparece a continuación es una instrucción de VBScript muy común:

 <% Dim dtmHour 
dtmHour = Hour(Now()) 
If dtmHour < 12 Then 
Saludos = "Buenos días" 
Else 
strGreeting = "Hola" 
End If 
%> 
<%= strGreeting %>

Según la hora, la secuencia de comandos asigna el valor “Buenos días” o el valor “Hola” a la variable de cadena strGreeting. La instrucción <%= strGreeting %> envía al explorador el valor actual de la variable.

De esta forma, los usuarios que vean esta secuencia de comandos antes de las 12:00 de la mañana (según la zona horaria del servidor Web) verían la siguiente línea de texto:

Buenos días

Los usuarios que vean esta secuencia de comandos después de las 12:00 de la mañana verían la siguiente línea de texto:

Hola

Puede incluir texto HTML entre las secciones de una instrucción. Por ejemplo, la secuencia de comandos siguiente, que combina HTML dentro de una instrucción If…Then…Else , produce el mismo resultado que la del ejemplo anterior:

 <% Dim dtmHour
dtmHour = Hour(Now()) 
If dtmHour < 12 Then
 %> Buenos días <% 
Else 
%> Hola <%
End If %>

Si la condición es verdadera, es decir, si es antes del mediodía, el servidor Web envía al explorador el código HTML que sigue a la condición (“Buenos días”); de lo contrario, envía el código HTML que sigue a Else (“Hola”). Esta forma de combinar HTML y comandos de secuencia de comandos es có moda para continuar la instrucción If…Then…Else en varias líneas de texto HTML. El ejemplo anterior es más útil si desea presentar un saludo en varias partes de una página Web . Puede asignar el valor de la variable una única vez y después presentarla varias veces.

En lugar de mezclar texto HTML con comandos de secuencia de comandos, puede devolver texto HTML al explorador desde dentro de los comandos de secuencia de comandos. Para devolver texto al explorador, utilice el objeto integrado Response de ASP. El ejemplo siguiente produce el mismo resultado que las secuencias de comandos anteriores:

 <% Dim dtmHour 
dtmHour = Hour(Now()) 
If dtmHour < 12 
Then 
Response.Write "Buenos días" 
Else 
Response.Write "Hola" 
End If %>

Response.Write envía al explorador el texto que le sigue. Utilice Response.Write desde una instrucción cuando desee generar de forma dinámica el texto devuelto al explorador. Por ejemplo, puede generar una cadena de texto que contenga los valores de varias variables . Aprenderá más acerca del objeto Response , y de los objetos en general, en Utilizar componentes y objetos y Enviar contenido al explorador. Por ahora, observe simplemente que dispone de varias maneras de insertar comandos de secuencias de comandos en las páginas HTML.

Puede incluir procedimientos escritos en su lenguaje predeterminado de secuencias de comandos dentro de delimitadores ASP. Para obtener más información, consulte Trabajar con lenguajes de secuencias de comandos.

Si va a trabajar con comandos JScript, puede insertar las llaves que indican un bloque de instrucciones directamente en sus comandos ASP, incluso aunque estén entremezclados con etiquetas y texto HTML. Por ejemplo:

 <% if (screenresolution == "low") { %>
Ésta es la versión de texto de la página.
<% } else { %>
Ésta es la versión multimedia de la página.
<% } %>

-O bien-

 <% if (screenresolution == "low") { 

Response.Write("Ésta es la versión de texto de la página.")
} else {
	Response.Write("Ésta es la versión ")
	Response.Write("multimedia de la página.")
 } %>