Foros del Web » Programando para Internet » ASP Clásico »

Includes y algunas variables

Estas en el tema de Includes y algunas variables en el foro de ASP Clásico en Foros del Web. Buenas, tengo un par de ideas para hacer una pagina dinamica de 2 o 3 columnas. La idea es colocar una variable para saber si ...
  #1 (permalink)  
Antiguo 23/05/2008, 02:01
 
Fecha de Ingreso: mayo-2005
Mensajes: 31
Antigüedad: 20 años
Puntos: 0
Includes y algunas variables

Buenas, tengo un par de ideas para hacer una pagina dinamica de 2 o 3 columnas.
La idea es colocar una variable para saber si se van a mostrar 2 o 3 columnas, pero encontre unos inconvenientes.

por ejemplo:

*** en la cabecera pongo el archivo de clases que uso:

<head>
<link href="clases.css" rel="stylesheet" type="text/css">
</head>

*** luego en la pagina
Código:
<!--#include file="conexion.asp"-->
<%
Dim columnas 
columnas = (valor sacado de una tabla)

select case columnas
	  Case 2 ' son 2 columnas
                    %>
	           <!--#include file='columna1.asp'-->
	           <!--#include file='columna2.asp'-->
                   <% 
	  Case "3 ' son 3 columnas
                    %>
	           <!--#include file='columna1.asp'-->
	           <!--#include file='columna2.asp'-->
	           <!--#include file='columna3.asp'-->
                   <%
end select
%>
El tema es que como a los includes los toma antes de procesar el asp, me da errores de redefinicion de variables, y no puedo dejar de definirlas.

Con Server.execute quedaria asi:
Código:
<%
Dim columnas 
columnas = (valor sacado de una tabla)

select case columnas

	  Case 2 ' son 2 columnas
	           server.execute ("columna1.asp")
	           server.execute ("columna2.asp")

	  Case "3 ' son 3 columnas
	           server.execute ("columna1.asp")
	           server.execute ("columna2.asp")
	           server.execute ("columna3.asp")
end select
%>
Pero aca tambien hay un inconveniente, las variables que se crean antes de llamar a los archivos, no se ven en las paginas llamadas con server.execute, en cada uno de los archivos tengo que cargar nuevamente la conexion (<!--#include file="conexion.asp"-->), cosa que no seria problema, pero hay variables que "necesito" crearlas al principio y tendrian que verse en todas las otras que llamo.

Tambien tendria que cargar denuevo el archivo de clases, cosa que funciona pero no es "recomendable" segun las especificaciones css, donde hay que cargarlas en el HEAD de la pagina.

Lo que estuve pensando es colocar el codigo de cada columna en en un procedimiento en vez de un archivo, y llamar al procedimiento segun la variable columna y aqui es donde tengo unas dudas:

Si coloco el contenido de columna1.asp, columna2.asp y columna3.asp en procedimientos, columna3.asp puede que no la utilice si es que solamente voy a mostrar 2 columnas.

Ese codigo de columna3.asp, se ejecuta solamente cuando lo llamo?

Si no llamo a ese procedimiento, consume igualmente recursos en el server ?

Si por ejemplo columna3.asp tiene unas 500 lineas de codigo entre html y asp, eso todo se carga en la memoria del server?

Si se carga en la memoria del server... haria la pagina mas lenta ?

Bueno, es todo, saludos.
  #2 (permalink)  
Antiguo 23/05/2008, 02:13
 
Fecha de Ingreso: julio-2006
Ubicación: Valencia
Mensajes: 6
Antigüedad: 18 años, 9 meses
Puntos: 0
Respuesta: Includes y algunas variables

se te ha ocurrido hacer la carga con IF END

Ya que solo son 2 parametros, por ejemplo...

Código:
<% IF columnas="2" THEN %>
     <!--#include file='columna1.asp'-->
     <!--#include file='columna2.asp'-->
<% ELSE %>
     <!--#include file='columna1.asp'-->
     <!--#include file='columna2.asp'-->
     <!--#include file='columna3.asp'-->
<END IF%>
  #3 (permalink)  
Antiguo 23/05/2008, 07:55
Avatar de Myakire
Colaborador
 
Fecha de Ingreso: enero-2002
Ubicación: Centro de la república
Mensajes: 8.849
Antigüedad: 23 años, 3 meses
Puntos: 146
Respuesta: Includes y algunas variables

Yo por lo que veo tienes dos sopas: o le quitas el option explicit a tu página para evitar eso de las redefiniciones o restructuras tu archivo y tus includes para poder usar el server.execute;
Así como lo tienes sin moverle no hay mucho que hacer.

Ahora atendiendo a tus preguntas específicas:

Ese codigo de columna3.asp, se ejecuta solamente cuando lo llamo? a sí es, un sub solo se ejecuta si lo llamas

Si no llamo a ese procedimiento, consume igualmente recursos en el server ?, bueno, no si nos referimos a tiempo de procesamiento dedicado a ese código, y si, si consideramos que ASP es interpretado y como tal, se barre el archivo de inicio a fin, claro que si no se esta entrando a un procedimiento el interprete lo pasa de largo pero supongo que si se desperdician sus buenos 0.00000000001 milisegundos en hacer ese salto

Si por ejemplo columna3.asp tiene unas 500 lineas de codigo entre html y asp, eso todo se carga en la memoria del server?, el ASP se procesa en el server, y el HTML que se va formando se va cargando en el buffer (por default así trabaja, pero puedes modificar esto), cuando el buffer se llena, se hace un .flush o el ASP termina, entonces se manda al cliente, siempre y cuando no haya marcado un error de cualquier tipo.

Si se carga en la memoria del server... haria la pagina mas lenta ? Si te preocupa que el buffer se cargue demasiado, puedes hacer response.flush dentro de algún ciclo pesado para irlo descargando, pero estarias constantemente mandando html al cliente, si tu diseño se ajusta, pues perfecto. Ahora, no olvides que asp se interpreta, sin importar las veces que haya sido leida la página, no comparemos la rapidez de un ASP al de cualquier lenguaje web compilado, es algo con lo que hay que vivir
  #4 (permalink)  
Antiguo 23/05/2008, 16:43
 
Fecha de Ingreso: mayo-2005
Mensajes: 31
Antigüedad: 20 años
Puntos: 0
Respuesta: Includes y algunas variables

entonces voy a meter funciones, me va a costar un huevo rehacer las cosas, pero vale la pena.

La idea principal aparte de leer la variable columna, es poder cargar varios modulos en cada columna, y poder cambiar con un administrador facil, uno o varios modulos de una columna a la otra.

Todo esta en proceso.

Saludos.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 08:01.