Splash Screen en ASP.Net
Algo que puede resultar muy útil para realizar la presentación de una página ó cuando se carga una página muy pesada es utilizar una Splash Screen ó página de presentación. En mi caso sólo las uso para poner un mensaje del tipo “Cargando, espere por favor…” cuando tengo que cargar una página muy pesada.
Esto era algo fácil de realizar en ASP, pero la cosa cambia en ASP.Net, ya que siempre carga primero el código servidor cuando se está cargando la página y por lo tanto no podemos colocar una capa con un mensaje en la parte cliente. Para poder realizar esto debemos usar Response.Flush(), cuya función es enviar al cliente el código servidor que hay almacenado en el Buffer. La cuestión es que se puede usar para cargar datos del cliente de la siguiente manera:
Se coloca al inicio del
una capita con un mensaje de espera:<body>
<div id=splashScreen style=…>
Cargando datos, espere por favor . . .
</div>
<% Response.Flush() %>
De esta manera antes que empiece la carga de la página se mostrará al usuario el contenido de la capa.
A continuación debemos ocultar la capa cuando termine la carga:
<script language=javascript>
document.getElementById(”splashScreen”).style.display=”none”;
</script>
</body>
Con este se mostrará el mensaje “Cargando datos, espere por favor” mientras se carga toda la página, incluyendo el procesamiento que se realice en el servidor.
Esto se puede embellecer con un gif animado o cualquier otra cosa que se nos ocurra.
S3rGy0.

05.05.2005 a las 5:58 pm
Hermano. pues bien, funciona este script, pero la leyenda no desaparece despues de traer los datos.???que es lo que tengo que hacer, plis??
05.06.2005 a las 8:10 am
Pues si te fijas, al final del post te digo que tienes que colocar al final del <body> esto:
<script language=javascript>
document.getElementById(”splashScreen”).style.display=”none”;
</script>
</body>
Si te fijas lo que haces es, justamente antes de cerrar el cuerpo de la página, ocultar la capa donde se encuentra el mensajito.
Se coloca al final para que desaparezca cuando haya terminado de cargar la página.
Saludos.
05.06.2005 a las 7:04 pm
Gracias amigo, ahora si funciona.
05.18.2005 a las 3:29 pm
hola, a mí no me funciona….
He añadido todo lo que indicas y sólo veo la “capita” al finalizar el código del page_load de codebehind !!
¿¿??
alguna pista!!
¿Puedes avisarme por email si me respondes?
Gracias
05.18.2005 a las 6:21 pm
Pues no sé que te puede pasar, lo único que te puedo decir es que la primera parte de código la añado justo después del <body> y antes del <form>. La segunda parte de código que indico la añado justo después de la etiqueta </body>.
Si quieres envíame el código HTML a mi correo e intentaré ayudarte.
Salu2.
06.17.2005 a las 7:32 pm
Hola Buenas, a mi no me funciona, mi codigo es el siguiente:
=”JavaScript”>
document.getElementById(”splashScreen”).style.display=”none”;
06.17.2005 a las 7:47 pm
=”JavaScript”>
document.getElementById(”splashScreen”).style.display=”none”;
06.17.2005 a las 8:20 pm
Cuando quieras mostrar código HTML, no olvides sustituir los < y > por < ; y > ;, respectivamente.
06.17.2005 a las 8:57 pm
No me ha llegado bien tu codigo pero de todas maneras sólo tienes que colocar la capa donde dice “Cargando datos, espere por favor…” justo detrás del body, a continuación un <% Response.Flush() %>, seguidamente pones el código que se ha de cargar tras el splash screen (en tu caso creo que es una tabla) y justo antes de cerrar el body ocultas la capa, para que una vez que este cargada se oculte la splash screen.
Si te fijas no se pone nada de la splash screen dentro del formulario, sino fuera.
Si no te funciona repasa el código y hazlo como te digo ya que no tiene mucha más historia.
Saludos.
12.20.2005 a las 11:16 am
Muchas gracias, funciona muy bien.
04.25.2006 a las 3:24 am
hola, hize la prueba con varios de estos codigos y si me funcionan pero necesito ayuda para hacerlo con una imagen, si alguien sabe como hacerlo porfavor posteelo. gracias
05.12.2006 a las 5:38 pm
Lo unico que tienes que hacer es conseguirte una gif animado, y lo colocas entre las etiquetas div, de la siguiente forma:
Espero te sirva, y gracias a S3rGy0, muy util el codigo
05.17.2006 a las 1:34 pm
Buenísimo!!!. Podrias decirme si se puede cargar un html en un div?? Gracias x adelantado.
08.03.2006 a las 10:08 pm
Saludos, estoy intentando con el codigo para aparecer la capa con el mensaje cargando y no me funciona, aqui pongo todo mi codigo a ver si me ayudan, de antemano gracias!.
< %@ Page language="c#" Codebehind="Commerce_Associate_Panel.aspx.cs" AutoEventWireup="false" Inherits="ClubManager.Commerce_Associate_Panel" %>
< !DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
onload=”Parse_Comments()”>
08.11.2006 a las 9:57 pm
como puedo hacer esto pero en Dinamo?????