Asp.net Ajax 学习笔记2 UpdatePanel的使用(上)

这 一次课主要是讲UpdatePanel的使用

首先是它的基本属性

1、RenderMode:UpdatePanel的呈现模式,如果值是Block,那么它在客户端生成的是Div标签,如果值是Inline,那么它在客户端生成的是Span

2、UpdateMode属性和ChildrenAsTriggers属性:ChildrenAsTriggers默认为true。这两个属性其实是连起来使用的。假设有两个UPdatePanel,其中一个ChildrenAsTriggers为true,UpdateMode为Conditional时,这个UpdatePanel的更新会导致另外一个UpdatePanel的更新。如果ChildrenAsTriggers为false,UpdateMode为Conditional时,这个UpdatePanel的Content的内容不会更新,另一个UpdatePanel里的内容会更新。UpdateMode值为Always时,ChildrenAsTrigger不能为false,如果为true,它只更新自己内部的Content

3、Triggers标签用来指定哪个控件来触发UpdatePanel的更新 Triggers里面的标签AsyncPostBackTrigger用来指定这个UpdatePanel的更新时异步刷新

4、UpdatePanel有两个属性是互斥的。ChildrenAsTriggers和UpdateMode。UpdateMode是用来指定在UpdatePanel里面的提交控件是否总是用来触发刷新的,有两个值,一个是Always表明总是触发刷新、一个是Conditional,表明是有条件的。ChildrenAsTriggers用来表明UpdatePanel里面的提交控件是否用来刷新

ChildrenAsTriggers = " false "  UpdateMode = " always "

这样的的属性值指定会产生错误

 

   < asp:UpdatePanel ID = " UpdatePanel1 "  runat = " server "  ChildrenAsTriggers = " false "  UpdateMode = " Conditional " >
            
< ContentTemplate >
                
<%=  DateTime.Now  %>
                
< asp:Button ID = " Button1 "  runat = " server "  Text = " Button "   />
                
< asp:Button ID = " Button2 "  runat = " server "  Text = " Button "   />
            
</ ContentTemplate >
            
< Triggers >
                
< asp:AsyncPostBackTrigger ControlID = " Button1 "   />
            
</ Triggers >
        
</ asp:UpdatePanel >

这样的指定Triggers的指定才是有效的,如果ChildrenAsTriggers为True,UpdateMode为Always那么,Triggers的指定是完全无效的

5、Triggers标签可以指定不在UpdatePanel里面的回发控件和在另一个UpdatePanel的回发控件来触发回发

< asp:UpdatePanel ID = " UpdatePanel1 "  runat = " server "  ChildrenAsTriggers = false  UpdateMode = " Conditional " >
            
< ContentTemplate >
                
<%=  DateTime.Now  %>
                
< asp:Button ID = " Button1 "  runat = " server "  Text = " Button1 "   />
            
</ ContentTemplate >
            
< Triggers >
                
< asp:PostBackTrigger ControlID = " Button2 "   />
            
</ Triggers >
        
</ asp:UpdatePanel >
    
        
< asp:UpdatePanel ID = " UpdatePanel2 "  runat = " server " >
            
< ContentTemplate >
                
<%=  DateTime.Now  %>
                
< asp:Button ID = " Button2 "  runat = " server "  Text = " Button2 "   />
            
</ ContentTemplate >
        
</ asp:UpdatePanel >

上面这段代码中,UpdatePanel1中的Button1会触发UpdatePanel2中的时间,因为没有指定UpdatePanel的UpdateMode为Conditional并且ChildrenAsTriggers为False

6、UpdatePanel是允许嵌套的,控制嵌套UpdatePanel内部控件的更新,由上面描述的几个标签和属性控制

总结:上面所描述的几种标签和属性可以自由的结合查看其效果

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值