Monday, 12 March 2012

Auto Refresh .aspx page - ASP.NET

Method 1: Response.AddHeader

To Refresh Web page After every 15 Seconds You can add following code,
Response.AddHeader("Refresh", "15");

Yahoo Cricket Sites, Stock Exchange sites use similar logic :)

Method 2: In body Tag, window.setTimeout

Here 1000 = 1 Second...
<body onload="window.setTimeout('window.location.reload()',1000);">


Method 3: In Meta Tag

Theres also a meta tag that you can define on the head, but not sure wheter it refreshes even if the content has not finished loading or if it starts counting when the head section loaded. Code would be something like that:
<meta content="600" http-equiv="refresh">

Method 4: Timer Control : Microsoft ASP.NET 2.0 AJAX Extensions server control

In following example, the timer interval is set to 10 seconds
<%@ Page Language="C#" AutoEventWireup="true" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head id="Head1" runat="server">
  <title>Timer Example Page</title>

  <script runat="server">
      protected void Page_Load(object sender, EventArgs e)
      {
          OriginalTime.Text = DateTime.Now.ToLongTimeString();
      }

      protected void Timer1_Tick(object sender, EventArgs e)
      {
          StockPrice.Text = GetStockPrice();
          TimeOfPrice.Text = DateTime.Now.ToLongTimeString();
      }

      private string GetStockPrice()
      {
          double randomStockPrice = 50 + new Random().NextDouble();
          return randomStockPrice.ToString("C");
      }
  </script>

</head>
<body>
  <form id="form1" runat="server">
      <asp:ScriptManager ID="ScriptManager1" runat="server" />
      <asp:Timer ID="Timer1" OnTick="Timer1_Tick" runat="server" Interval="10000" />
      <asp:UpdatePanel ID="StockPricePanel" runat="server" UpdateMode="Conditional">
          <triggers>
              <asp:AsyncPostBackTrigger ControlID="Timer1" />
          </triggers>
          <contenttemplate>
              Stock price is <asp:Label id="StockPrice" runat="server"/>
              <br/>as of
              <asp:Label id="TimeOfPrice" runat="server"/>
          </contenttemplate>
      </asp:UpdatePanel>
      <div>
          Page originally created at
          <asp:Label ID="OriginalTime" runat="server"></asp:Label>
      </div>
  </form>
</body>
</html>

No comments:

Post a Comment