upcounter

Discussion in 'ASP .Net' started by Eric, Jun 23, 2010.

  1. Eric

    Eric Guest

    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)
    
    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
     
    Eric, Jun 23, 2010
    #1
    1. Advertising

Want to reply to this thread or ask your own question?

It takes just 2 minutes to sign up (and it's free!). Just click the sign up button to choose a username and then you can ask your own questions on the forum.

Share This Page