Prev: how to put some links in a "image"
Next: o I need both VS@010 and MS Visual Developer 2010 Express
From: Eric on 23 Jun 2010 05:56 Hi, On my asp.net page (full dynamically build) I have a panel with a selection possibility for the user and a submit button. When the user clicks the submit button the code behind is collecting a lot of data from the server and that can take up to 5 minutes. To give the user some idea of time, I would like to show some kind of upcounter that shows minutes and seconds and starts running when the button has been pressed. I found some script on the web but I have not really an idea how to use it. [code] Dim sb As New StringBuilder sb.AppendLine("<script>function showElapsedTime()") sb.AppendLine("{") sb.AppendLine("// Description:") sb.AppendLine("// This is a countup script from a specific date in the past.") sb.AppendLine("// It shows the days, hours, minutes and seconds that have elapsed since the start date.") sb.AppendLine("// For added effect, the elapsed time is updated each second.") sb.AppendLine("//") sb.AppendLine("// Set the starting date details.") sb.AppendLine("var startYear = 2007;") sb.AppendLine("var startMonth = 11; // must be between 0 - 11") sb.AppendLine("var startDay = 21; // must be between 1 - 31") sb.AppendLine("var startHour = 0; // must be between 0 - 23") sb.AppendLine("var startMinute = 0; // must be between 0 - 59") sb.AppendLine("var startSecond = 0; // must be between 0 - 59") sb.AppendLine("var startDate = new Date();") sb.AppendLine("startDate.setYear(startYear);") sb.AppendLine("startDate.setMonth(startMonth);") sb.AppendLine("startDate.setDate(startDay);") sb.AppendLine("startDate.setHours(startHour);") sb.AppendLine("startDate.setMinutes(startMinute);") sb.AppendLine("startDate.setSeconds(startSecond);") sb.AppendLine("var rightNow = new Date();") sb.AppendLine("var elapsedTime = rightNow.getTime() - startDate.getTime();") sb.AppendLine("var one_day=1000*60*60*24;") sb.AppendLine("var elapsedDays = Math.floor( elapsedTime / one_day );") sb.AppendLine("var milliSecondsRemaining = elapsedTime % one_day;") sb.AppendLine("var one_hour = 1000*60*60;") sb.AppendLine("var elapsedHours = Math.floor(milliSecondsRemaining / one_hour );") sb.AppendLine("milliSecondsRemaining = milliSecondsRemaining % one_hour;") sb.AppendLine("var one_minute = 1000*60;") sb.AppendLine("var elapsedMinutes = Math.floor(milliSecondsRemaining / one_minute );") sb.AppendLine("milliSecondsRemaining = milliSecondsRemaining % one_minute;") sb.AppendLine("var one_second = 1000;") sb.AppendLine("var elapsedSeconds = Math.round(milliSecondsRemaining / one_second);") sb.AppendLine("document.getElementById('pnTimer').innerHTML = elapsedDays + ' Days ' + elapsedHours + ' Hours ' + elapsedMinutes + ' Minutes ' + elapsedSeconds + ' Seconds';") sb.AppendLine("t = setTimeout('showElapsedTime()',1000);") sb.AppendLine("}") sb.AppendLine("</script>") ClientScript.RegisterOnSubmitStatement(Me.GetType(), "timer", sb.ToString) [/code] basically I would like to start this counter just before it does the postback to the server, so while the page is then waiting for the data, the counter is going up. Is this possible and how do I do that? rg, Eric
|
Pages: 1 Prev: how to put some links in a "image" Next: o I need both VS@010 and MS Visual Developer 2010 Express |