title: Refresh a web page in ASP.NET automatically and capture the time until the next refresh
body: <p>I know there should be an easy way to do this but I guess my brain isn't working today.  I need to refresh a page in x number of seconds.  I can do that in .NET using the following:</p>
  
  <pre><code>Response.AddHeader("Refresh", "300");
  </code></pre>
  
  <p>This is fine except I also need to display the number of minutes and seconds until the next refresh.</p>
  
  <p>So I am using the following code in javascript to do this from the client:</p>
  
  <pre><code>&lt;script type="text/javascript""&gt;
  
  
      //enter refresh time in "minutes:seconds" Minutes should range from 0 to inifinity. Seconds should range from 0 to 59
      var limit="0:30"
  
      if (document.images){
          var parselimit=limit.split(":")
          parselimit=parselimit[0]*60+parselimit[1]*1
      }
  
      function beginrefresh(){
          if (!document.images)
              return
  
          if (parselimit==1)
              window.location.reload()
          else{ 
              parselimit-=1
              curmin=Math.floor(parselimit/60)
              cursec=parselimit%60
              if (curmin!=0)
                  curtime=curmin+" minutes and "+cursec+" seconds left until page refresh!"
              else
                  curtime=cursec+" seconds left until page refresh!"
  
              window.status=curtime
              setTimeout("beginrefresh()",1000)
          }
      }
  
      window.onload=beginrefresh;
  
  &lt;/script&gt;
  </code></pre>
  
  <p>This works except for one thing - every time the page is refreshed, the browser (IE) gives the nag message about re-downloading content or something.  This will not do.  This is a page that users will have open all day and it needs to refresh without user intervention.
  I suppose I could do away with the message that displays the time till next refresh and just use the ASP.NET line, but if anyone has a better idea, I would really appreciate it.</p>