Los amigos que han utilizado el software saben que la barra de progreso es una parte importante de un excelente software.
Su existencia permite a los usuarios comprender oportunamente el progreso de la ejecución del programa y confirmar que la aplicación funciona normalmente. Sin embargo, parece que no hay controles estándar mencionados anteriormente en ASP, por lo que también es problemático de controlar.
Entonces, ¿cómo implementar la barra de progreso?
Las siguientes son algunas de mis puntos de vista (solo como referencia)
Cuando usamos programas de procesamiento ASP (en referencia a la escritura de archivos o bases de datos operativas), usaremos una página (*.asp) para procesar o controlar estos programas, y luego saltaremos a la página de visualización cuando se complete el procesamiento. En este momento, podemos mostrar la barra de progreso a través de estas páginas de procesamiento. El método es dibujar cien figuras idénticas (como rectángulos de color) en secuencia de acuerdo con el progreso del procesamiento del programa, formando así una barra de progreso. Su efecto es básicamente similar al logrado con otras herramientas de programación
Aquí hay algunas fuentes, espero que puedan inspirarte.
Respuesta.Buffer = True
dimlostnum
dimshownum
El proceso de retraso (DSTEP, DMAX) se usa para mostrar cuánto progreso (cuánto progreso)
Donde DMAX representa cuántos pasos (DMAX) se debe procesar todo el programa para completar todo el proceso.
donde DSTEP representa los pasos del proceso actuales que ocupan el componente de todo el proceso, y se expresa en cantidad.
La existencia de la variable LostNum es causada por que el DMAX sea demasiado grande (como 10000) y el DSTEP es demasiado pequeño (como 1). Si llama a DelayShow (1.10000), es imposible dibujar IMG una vez, de hecho
DelayShow (100,10000) solo se dibuja una vez, lo que indica que el 1% se completa, porque 100 representa el 1% de 10000.
Subdelayshow (DSTEP, DMAX)
dimtotal // muestra 100 img
dimdtemp // variable de transición
Total = 100
dtemp = dstep
dstep = dstep+Lostnum
if (dstep*total)/dmax <1then
// juzga que cuando la cosa que se debe procesar no tiene el 1% de las cosas que se deben procesar, no dibuje IMG y use la variable LostNum para almacenar el número total de procesamiento sin título, de modo que la próxima vez que se llame a este proceso.
Lostnum = Lostnum+dtemp
demás
forccc = 1tofix ((dstep*total)/dmax) // Toma un entero
Response.write "<imgsrc =" "../ images/demandar1.jpg" ">"
próximo
Respuesta.flush // Mostrar las cosas (imágenes) en el caché
// La variable Showsum se usa para almacenar el IMG que se ha dibujado.
Showsum = Showsum+Fix ((dstep*total)/dmax)
Lostnum = 0
endif
Endsub
// Debido al problema del algoritmo, la razón principal es que la cantidad restante no se puede dibujar completamente 100 veces, por lo que es necesario
El proceso showLost () muestra todos los imgs no atentos restantes para realizar la longitud igual de la barra de progreso
subshowlost ()
Forccc = 1to (100-showum)
Response.Write ("<imgsrc =" "../ Images/Delay1.jpg" ">")
próximo
Response.Write "<br>"
Respuesta. Flush
Endsub
Tenga en cuenta al final
La tecnología de almacenamiento en caché se requiere aquí
respuesta.buffer = true;
respuesta. Flush;
respuesta.
Consulte la ayuda de MSDN para estos