Ajax UpdateProgress功能演示

如果你看到前面一个例子http://www.cnblogs.com/insus/archive/2011/07/16/2108172.html ,当用户点击按钮之后,就会显示下面效果:

 

此功能,使用到Ajax技术UpdateProgress来实现层遮罩效果,从下面的Style可以看到两个样式,一个底层和显法层。

ExpandedBlockStart.gif Style
<style>
        #progressBackgroundLayer
        
{
            position
:  fixed ;
            top
:  0px ;
            bottom
:  0px ;
            left
:  0px ;
            right
:  0px ;
            overflow
:  hidden ;
            padding
:  0 ;
            margin
:  0 ;
            background-color
:  #000 ;
            filter
:  alpha(opacity=30) ;
            opacity
:  0.5 ;
            z-index
:  1000 ;
        
}
        
        #processMessageLayer
        
{
            position
:  fixed ;
            text-align
:  center ;
            width
:  15% ;
            border
:  none ;
            padding
:  5px ;
            background-color
:  #fff ;
            vertical-align
:  middle ;
            z-index
:  1001 ;
            top
:  20% ;
            left
:  4% ;
        
}
    </style>

 

接下来,还再实现一个取消功能:

ExpandedBlockStart.gif CancelPostBack
< script type = " text/JavaScript "  language = " JavaScript " >

        
function  CancelPostBack() {
            
var  objMan  =  Sys.WebForms.PageRequestManager.getInstance();
            
if  (objMan.get_isInAsyncPostBack())
                objMan.abortPostBack();
        }

    
< / script>

 

.aspx

页面中写上ScriptManager,UpdatePanel和主角UpdateProgress:

ExpandedBlockStart.gif View Code
  < asp:ScriptManager  ID ="ScriptManager1"  runat ="server" >
    
</ asp:ScriptManager >
    
< asp:UpdatePanel  ID ="UpdatePanel1"  runat ="server" >
        
< ContentTemplate >
            
< asp:Button  ID ="Button1"  runat ="server"  Text ="UpdateProgressDemo"  
                onclick
="Button1_Click"   />
            
< asp:UpdateProgress  ID ="UpdateProgress1"  runat ="server"  AssociatedUpdatePanelID ="UpdatePanel1"
                DisplayAfter
="100"  DynamicLayout ="true" >
                
< ProgressTemplate >
                    
< div  id ="progressBackgroundLayer" >
                    
</ div >
                    
< div  id ="processMessageLayer" >
                        
< img  src ="Ajax_Load.gif"  alt ="Progress"  align ="absmiddle"   />
                        Please wait...
< br  />
                        
< input  type ="button"  onclick ="CancelPostBack()"  value ="Cancel"   />
                    
</ div >
                
</ ProgressTemplate >
            
</ asp:UpdateProgress >
        
</ ContentTemplate >
    
</ asp:UpdatePanel >

 

为了效果,Insus.NET故意在Button1_Click把进行时间写长了一点:

System.Threading.Thread.Sleep( 5000 );

 

完整代码:

http://download.cnblogs.com/insus/Ajax/UpdateProgressDemo.rar

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值