• PRM –beginRequest事件


    PRM –beginRequest事件
    •参数类型:BeginRequestEventArgs
    –request属性:用于获得WebRequest对象(用于请求的信息)
    –postBackElement:触发异步刷新的DOM元素
    •常用操作:
    –读取请求信息
    –改变请求方式(替换Executor)
    –显示更新提示


    强制显示UpdateProgress
    aspx
    <asp:Content ID="Content1" ContentPlaceHolderID="ContentPlaceHolder1" Runat="Server">

    <asp:UpdatePanel ID="UpdatePanel1" runat="server">
        
    <ContentTemplate>
            
    <%= DateTime.Now %><br />
            
    <asp:Button ID="Button1" runat="server" Text="Button1" OnClick="Button_OnClick" />
        
    </ContentTemplate>
        
    <Triggers>
            
    <asp:AsyncPostBackTrigger ControlID="Button2" />
        
    </Triggers>
    </asp:UpdatePanel>

    <asp:UpdateProgress ID="UpdateProgress1" runat="server" DisplayAfter="0" DynamicLayout="false"
        AssociatedUpdatePanelID
    ="UpdatePanel1">
        
    <ProgressTemplate>
            
    <span style="color:Red">Loading</span>
        
    </ProgressTemplate>
    </asp:UpdateProgress>

    <hr />
    <asp:Button ID="Button2" runat="server" Text="Button2" OnClick="Button_OnClick" />


    <script language="javascript" type="text/javascript">
        Sys.WebForms.PageRequestManager.getInstance().add_beginRequest(
            function(sender, e)
            {
                
    if (e.get_postBackElement().id != "<%= this.Button2.ClientID %>")
                {
                    
    return;
                }
                
                var updateProgress 
    = $get("<%= this.UpdateProgress1.ClientID %>");
                var dynamicLayout 
    = <%= this.UpdateProgress1.DynamicLayout.ToString().ToLower() %>;
                
                
    if (dynamicLayout)
                {
                    updateProgress.style.display 
    = "block";
                }
                
    else
                {
                    updateProgress.style.visibility 
    = "visible";
                }
            });
    </script>

    </asp:Content>
    cs
        protected void Page_Load(object sender, EventArgs e)
        {

        }

        
    protected void Button_OnClick(object sender, EventArgs e)
        {
            Thread.Sleep(
    2000);
        }
  • 相关阅读:
    Swift基础
    win32多线程 (六)信号量 Synchronization
    win32 多线程 (五)Event
    win32多线程 (四) Mutex
    win32多线程(三) 死锁
    win32多线程 (二)线程同步之临界区 (critical sections)
    win32多线程 (一) 线程创建与结束等待
    简单Factory模式
    单键模式
    jquery中click事件重复绑定问题
  • 原文地址:https://www.cnblogs.com/timy/p/1169840.html
Copyright © 2020-2023  润新知