Друзья, которые использовали программное обеспечение, знают, что план прогресса является важной частью отличного программного обеспечения.
Его существование позволяет пользователям своевременно понять выполнение программы и подтвердить, что приложение работает нормально. Тем не менее, в ASP, похоже, нет стандартных элементов управления, поэтому контролировать также трудно контролировать.
Так как реализовать планку прогресса?
Ниже приведены некоторые из моих взглядов (только для справки)
Когда мы используем программы обработки ASP (ссылаясь на написание файлов или операционные базы данных), мы будем использовать страницу (*.asp) для обработки или управления этими программами, а затем перейти на страницу отображения, когда обработка завершена. В настоящее время мы можем отобразить панель прогресса через эти страницы обработки. Метод состоит в том, чтобы нарисовать сотню идентичных фигур (таких как цветные прямоугольники) в последовательности в соответствии с ходом обработки программы, тем самым образуя панель хода. Его эффект в основном похож на достижение с другими инструментами программирования
Вот несколько источников, я надеюсь, что они могут вас вдохновить.
response.buffer = true
Dimlostnum
DimShownum
Процесс задержки (DSTEP, DMAX) используется для отображения, сколько IMG (сколько прогресса)
где DMAX представляет, сколько (DMAX) шагов необходима всей программе для выполнения всего процесса.
где DSTEP представляет текущие шаги процесса, занимающие компонент всего процесса, и выражается в количестве.
Существование переменной LostNum вызвано тем, что DMAX слишком велик (например, 10000), а DSTEP слишком мал (например, 1). Если вы звоните задержке (110000), невозможно нарисовать IMG один раз, фактически
Задержка (100 10000) рисуется только один раз, что указывает на то, что 1% завершен, поскольку 100 составляют 1% от 10000.
SubdelayShow (DSTEP, DMAX)
Dimtotal // отображение 100 Img
DimDtemp // переменная перехода
Всего = 100
dtemp = dstep
DSTEP = DSTEP+LOSTNUM
if (dstep*total)/dmax <1then
// Судите, что когда обрабатывается вещь, не имеет 1% от того, что нужно обрабатывать, не рисуйте IMG и используйте переменную LostNum для хранения общего количества безымянной обработки, чтобы в следующий раз этот процесс был вызван.
LOSTNUM = LOSTNUM+DTEMP
еще
forccc = 1tofix ((dstep*total)/dmax) // Принять целое число
Response.write "<imgsrc =" "../ Images/delay1.jpg" ">"
следующий
Response.flush // Показать вещи (картинки) в кэше
// переменная показана для хранения IMG, который был нарисован.
showdum = showum+fix ((dstep*total)/dmax)
LOSTNUM = 0
эндиф
заканчивая
// из -за проблемы алгоритма основная причина заключается в том, что оставшаяся сумма не может быть полностью нарисована в 100 раз, поэтому необходимо
Процесс Showlost () отображает все оставшиеся неверно IMG, чтобы реализовать равную длину панели прогресса
subshowlost ()
forccc = 1to (100-shownum)
Response.write ("<imgsrc =" "../ Images/delay1.jpg"> ")
следующий
Response.write "<br>"
Response.flush
заканчивая
Обратите внимание в конце
Технология кэширования здесь требуется
response.buffer = true;
response.flush;
response.end
Пожалуйста, обратитесь к MSDN Help для них