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

Considerar la resolución de pantalla

Estas en el tema de Considerar la resolución de pantalla en el foro de ASP Clásico en Foros del Web. Hola a todo el que acceda a este tema. La cuestión es la siguiente: Tengo en un archivo ASP hago una paginación de registros con ...
  #1 (permalink)  
Antiguo 18/06/2005, 05:00
Avatar de zacktagnan  
Fecha de Ingreso: abril-2005
Mensajes: 501
Antigüedad: 20 años, 1 mes
Puntos: 3
Considerar la resolución de pantalla

Hola a todo el que acceda a este tema.

La cuestión es la siguiente:

Tengo en un archivo ASP hago una paginación de registros con un PageSize de 4 cada vez. Esto está estructurado para cuando la pantalla tiene una resolución de 800x600. Cuando cambio a 1024, como es normal, se ve que la paginación, es decir el PageSize, podría ser mayor, por ejemplo, de 8 registros en cada página.

Entonces, ¿hay alguna manera en ASP ó VBScript de controlar esto, que para una resolución de 800 el PageSize fuera de 4 y para una resolución de 1024 el PageSize fuera de 8?

En JavaScript, existe lo siguiente:
<script language="javascript" type="text/javascript">
<!--
if (screen.width==1024){
document.write('hacer algo');
}
else{
document.write('hacer otra cosa');
}
//-->
</script>

¿Hay algo parecido en ASP?

Gracias por la atención prestada. Esperando respuestas...

Saludos.

================================================== ========
zacktagnan.
  #2 (permalink)  
Antiguo 19/06/2005, 01:18
Avatar de trasgukabi  
Fecha de Ingreso: septiembre-2004
Mensajes: 2.749
Antigüedad: 20 años, 8 meses
Puntos: 18
no. ASP, al ser un lenguaje que se ejecuta en el servidor, tiene el inconveniente de que no puede acceder a las propiedades del cliente. en todo caso, lo que podrías hacer es, en la página anterior y con javascript, capturar la resolución del cliente y mandársela (por get o post o session o como quieras) a la página de resultados.
  #3 (permalink)  
Antiguo 20/06/2005, 03:44
Avatar de zacktagnan  
Fecha de Ingreso: abril-2005
Mensajes: 501
Antigüedad: 20 años, 1 mes
Puntos: 3
Vale. Gracias.
  #4 (permalink)  
Antiguo 21/06/2005, 10:04
Avatar de zacktagnan  
Fecha de Ingreso: abril-2005
Mensajes: 501
Antigüedad: 20 años, 1 mes
Puntos: 3
Retomando de nuevo la cuestión.

La cosa es capturar la resolución en javascript con 'screen.width' y mandarlo a la siguiente página.

Si a la siguiente página se llega a través de un formulario, tendría que meter, por ejemplo, el valor en un campo oculto para que fuera mandado junto con el formulario con post, algo así:
'document.elFormu.campoOculto.value=screen.width'

Pero si llego a la siguiente página dónde se refleja la paginación de registros a través de un vínculo con ó sin querystring, ¿cómo mete el valor de screen.width en una variable?

Ó la otra manera, ¿cómo mete el valor del método javascript 'screen.width' en una variable de asp ó en una variable de Session?

Es que para los casos de GET y SESSION no se me ocurre como hacerlo...
(espero que lo comentado en el caso del POST sea lo adecuado)

Gracias de antemano y perdón por las molestias.

Saludos.

================================================== ========
zactagnan.
  #5 (permalink)  
Antiguo 21/06/2005, 10:26
Avatar de Hereje  
Fecha de Ingreso: junio-2002
Ubicación: Córdoba, Argentina
Mensajes: 439
Antigüedad: 22 años, 11 meses
Puntos: 2
El tema seria asi supongo (para manejarlo con session):

Esta pagina debe ejecutarse cuando se inicia sesión o se la pierde:
Nombre: setresol.asp
Código:
<%
dim w
w = request.querystring("w")

if len(w) = 0 then
%>
<script language="javascript" type="text/javascript">
<!--
window.location='setresol.asp?w='+screen.width;
//-->
</script>
<%
else
   session("resol") = w
   response.redirect("home.asp") 
   'o bien request.servervariables("HTTP_REFERER") para volver a la pagina que lo envió, pero hay que revisar que no venga de otro sitio!
end if
%>
en el resto de las paginas, para leer la resolución
Código:
<%
dim resol
resol = session("resol")
if len(resol) = 0 then response.redirect("setresol.asp")

select case resol
  case "800"
     'muestra para 800
  case "1024"
     'muestra para 1024
  case else
     'lo que sea
end select
%>
También se podria hacer un include de setresol y utilizar refresh, lo cual calculo que seria mas eficiente ya que ahorramos pedidos al servidor.

Espero te sirva de algo, Saludos!
__________________
Sergio
  #6 (permalink)  
Antiguo 22/06/2005, 11:14
Avatar de zacktagnan  
Fecha de Ingreso: abril-2005
Mensajes: 501
Antigüedad: 20 años, 1 mes
Puntos: 3
Gracias HEREJE. Tu consejo me puso en la vía para resolver el problema.

Saludos.

================================================== ========
zacktagnan.
  #7 (permalink)  
Antiguo 22/06/2005, 14:37
Avatar de Neuron_376  
Fecha de Ingreso: abril-2005
Mensajes: 1.051
Antigüedad: 20 años, 1 mes
Puntos: 2
Hola

Lo unico que es adecuado tomar en cuenta, es que para esto no puedes confiar en session, porque el usuario en cualquier momento puede cambiar la resolución, entonces siempre debes revisar la resolucion cundo la necesites, siempre, sin confiar en session.

Suerte!!
__________________
NeuronaNet.com... la idea correcta.
http://www.NeuronaNet.com
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:10.