PRM–initializeRequest事件

PRM–initializeRequest事件
•参数类型:InitializeRequestEventArgs
–request属性:用于获得WebRequest对象(用于请求的信息)
–postBackElement:触发异步刷新的DOM元素
•常用操作:
–读取请求信息
–取消此次异步更新

优先级高的异步刷新
aspx
<% @ Page Language = " C# "  MasterPageFile = " ~/Site.master "  AutoEventWireup = " true "  CodeFile = " 1_PrecedencePostBack.aspx.cs "  Inherits = " _1_PrecedencePostBack "  Title = " PrecedencePostBack "   %>
< asp:Content ID = " Content1 "  ContentPlaceHolderID = " ContentPlaceHolder1 "  Runat = " Server " >

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

< asp:UpdatePanel ID = " UpdatePanel1 "  runat = " server " >
    
< ContentTemplate >
        
<%=  DateTime.Now  %>< br  />
        
< asp:Label ID = " Label1 "  runat = " server "  Text = "" ></ asp:Label >< br  />
        
< asp:Button ID = " btnPrecedence "  runat = " server "  Text = " 优先 "  OnClick = " Button_OnClick "   />
        
< asp:Button ID = " Button2 "  runat = " server "  Text = " 普通 "  OnClick = " Button_OnClick "   />
    
</ ContentTemplate >
</ asp:UpdatePanel >

< script type = " text/javascript "  language = " javascript " >
    var lastPostBackButtonId 
=   null ;
    var btnPrecedenceId 
=   " <%= this.btnPrecedence.ClientID %> " ;
    
    Sys.WebForms.PageRequestManager.getInstance().add_initializeRequest(
        function(sender, e)
        {
            var prm 
=  Sys.WebForms.PageRequestManager.getInstance();
            
if  (prm.get_isInAsyncPostBack())
            {
                
if  (lastPostBackButtonId  ==  btnPrecedenceId)
                {
                    e.set_cancel(
true );
                    
                    
if  (e.get_postBackElement().id  ==  btnPrecedenceId)
                    {
                        showMessage(
" 不可重复发起优先的刷新。 " );
                    }
                    
else
                    {
                        showMessage(
" 请等待优先的刷新结束。 " );
                    }
                    
                    
return ;
                }
                
else   if  (e.get_postBackElement().id  ==  btnPrecedenceId)
                {
                    showMessage(
" 发起优先的刷新,普通的刷新将被取消。 " );
                }
                
else
                {
                    showMessage(
" 重新发起普通的刷新,前一次提交将被取消。 " );
                }
            }
            
            lastPostBackButtonId 
=  e.get_postBackElement().id;
        });
</ script >

</ asp:Content >

cs
     protected   void  Page_Load( object  sender, EventArgs e)
    {

    }

    
protected   void  Button_OnClick( object  sender, EventArgs e)
    {
        Thread.Sleep(
3000 );

        Button button 
=  sender  as  Button;
        
this .Label1.Text  =  String.Format( " 您点击了“{0}”按钮 " , button.Text);
    }

使用Thread.Sleep( 3000 );需要导入命名空间 System.Threading;

转载于:https://www.cnblogs.com/timy/archive/2008/04/24/1169826.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值