使用updatepanel与不使用的区别

其实是封装了ajax技术而成的一种控件,其目的是实现局部刷新。

一般触发服务器控件是都会回发从而刷新整个页面,造成服务器资源的浪费,如果数据量大的话,服务器的承受压力很大,最终会造成页面半天打不开。

采用了updatepanel后,他只刷新updatepanel内的数据,从而避免整个页面刷新,用户效果很好。

下面是使用updatepanel的一些使用方法:

需要在这控件之前加上 scriptManager 控件

UpdatePanel 控制页面的局部更新,这个更新功能依赖于scriptManger控件的EnablePartialRendering属性,如果这个属性设置为false局部更新会失去作用(scriptManger 控件的EnablePartialRendering属性的默认值为true不必刻意去设置) 

主要属性: 
1. ChildrenAsTriggers : 内容模板内的子控件的回发是否更新本模板(和UpdateMode的conditional有关) 
2. UpdateMode : 内容模板的更新模式,有always和conditional两种

    always:每次ajax PostBack或者普通的PostBack都能引起panel的更新 如果UpdatePanel设置为Always时,不能使用上面的ChildrenAsTriggers属性,强行使用会报错,是updatepanel默认的更新模式,和设置trigger触发器没有直接的关系。 
    conditional:只有当前UpdatePanel的Trigger,或ChildrenAsTriggers属性为true时当前UpdatePanel中控件引发的异步回送或者整页回送,或是服务器端调用Update()方法才会引发更新该UpdatePanel。

只有满足如下某一条件时才更新panel的内容 :
如果设置UpdateMode="conditional" ChildrenAsTriggers="false"时候,子控件不允许触发更新 
1). 当panel中的某个控件引发PostBack时 
2). 当Panel指定的某个Trigger被引发时 
3). RenderMode: 局部更新控件的呈现形式两中:Block(局部更新在客户端以div形式展现)和Inline(局部更新以span的形式展现在客户端) 
子元素: 
1. contentTemplate: 局部更新控件的内容模板,可以在其中添加任何控件 
2. Triggers: 局部更新的触发器,包括俩中:异步回发(AsyncPostBackTrigger) 用来实现局部更新。普通回发(PostBackTrigger)和普通的一养,不管是否使用了局部更新控件,都会引起页面的全部更新。

       AsyncPostBackTrigge用来指定某个服务器端控件以及其将触发的服务器端事件作为该UpdatePanel的异步更新触发器,它需要设置的属性有控件ID和服务端控件的事件;

       PostBackTrigger用来指定在UpdatePanel中的某个服务端控件,它所引发的回送不使用异步回送,而仍然是传统的整页回送 

 

  2
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值