UpdateProgress进度条显示与取消异步功能
 //取消执行异步代码
<script type="text/javascript" language="javascript">
     // 取得 PageRequestManager 类的实例
    var pageManager=Sys.WebForms.PageRequestManager.getInstance();
    // 设置当引发 initializeRequest 事件时便运行事件处理函数 initializeRequest
    pageManager.add_initializeRequest(initializeRequest);
    function initializeRequest(sender, args)
    {
      if(pageManager.get_isInAsyncPostBack())
      {
         args.set_cancel(true);
      }
    }
     // 如果当前正在处理一个异步回发而且此异步回发是由“取消加载...”按钮所引发的话,
     // 就调用 PageRequestManager 实例的 abortPostBack 方法来取消异步回发。
    function AbortPostBack()
    {
      if(pageManager.get_isInAsyncPostBack())
      {
        pageManager.abortPostBack();
      }
    }
</script>
//取消加载按钮
  <asp:UpdatePanel ID="UpdatePanel1" runat="server">
            <ContentTemplate>
                <asp:Label ID="lbTimer" runat="server"></asp:Label>
                <br />
                <asp:Button ID="btnCommit" runat="server" Text="单击我,将开始加载Web窗体页的数据..." 
                    onclick="btnCommit_Click" />
            </ContentTemplate>
        </asp:UpdatePanel>
    
    </div>
    <asp:UpdateProgress ID="UpdateProgress1" runat="server">
//延迟5秒进度条消失
protected void btnCommit_Click(object sender, EventArgs e)
    {
        System.Threading.Thread.Sleep(5000);//延时5秒钟
        lbTimer.Text = DateTime.Now.ToLongTimeString();//5秒后进度条将消失
    }
//加载进度条
<asp:UpdateProgress ID="UpdateProgress1" runat="server">
        <ProgressTemplate>
           <div style="font-size:xx-small">
           服务器加载中...<img src="wait.gif" />
           <input id="cmdCancel" onclick="AbortPostBack()" type="button" value="取消加载..." />
           </div>
        </ProgressTemplate>
    </asp:UpdateProgress>
    </form>