<%@ Page Language="C#" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<script runat="server">
  void WaitFiveSeconds(object o, EventArgs e)
  {
    System.Threading.Thread.Sleep(5000);
    Label1.Text = DateTime.Now.ToLongTimeString();
    Button2.Style["display"] = "none";
  }
</script>

<html xmlns="http://www.w3.org/1999/xhtml">
<head id="Head1" runat="server">
  <title>ASP.NET AJAX</title>
  <script type="text/javascript">
  function pageLoad() {
    var manager = Sys.WebForms.PageRequestManager.getInstance();
    manager.add_initializeRequest(abortPendingPostback);
  }
  
  function abortPendingPostback(sender, eventArgs) {
    var manager = Sys.WebForms.PageRequestManager.getInstance();
    if (manager.get_isInAsyncPostBack() &&
      eventArgs.get_postBackElement().getAttribute("id") == "Button2") {
      manager.abortPostBack();  
    }
  }
  </script>
</head>
<body>
  <form id="form1" runat="server">
    <asp:ScriptManager ID="ScriptManager1" runat="server" />
    <asp:UpdatePanel ID="UpdatePanel1" runat="server">
      <ContentTemplate>
        <asp:Button ID="Button1" runat="server"
          Text="Zrób coś" OnClick="WaitFiveSeconds"
          OnClientClick="$get('Button2').style.display='';" /><br />
        <asp:Button ID="Button2" runat="server"
          Text="Przerwij odświeżanie" Style="display:none;" />
        <asp:Label ID="Label1" runat="server" />
      </ContentTemplate>
    </asp:UpdatePanel>
    <asp:UpdateProgress ID="UpdateProgress1" runat="server"
      AssociatedUpdatePanelID="UpdatePanel1">
      <ProgressTemplate>
        <div style="position: absolute; left: 200px; top: 150px; border: solid 2px
black; padding: 4px;">
        Ładowanie... Proszę czekać...</div>
      </ProgressTemplate>
    </asp:UpdateProgress>
  </form>
</body>
</html>
