UpdatePanel概览

UpdatePanel概览微软的asp.netajax为我们进入AJAX世界提供了方便的入口,让许多不熟悉js甚至不了解什么是ajax的人也能享受到ajax技术的好处.在asp.netajax1.0中,updatepan

大家好,又见面了,我是你们的朋友全栈君。    微软的asp.net ajax为我们进入AJAX世界提供了方便的入口,让许多不熟悉js甚至不了解什么是ajax的人也能享受到ajax技术的好处.在asp.net ajax 1.0中,updatepanel是其中的核心部分.

    在使用updatepanel之前,一定要保证
ScriptManager的使用.如果没有ScriptManager,将无法使用updatepanel.

下面列举UpdatePanel的属性及含义:

   
ChildrenAsTriggers:这个属性从表面意义上来看也能猜出个大概,它就是说明该UpdatePanel控件内部的子控件是不是要作为触发器(Triggers).默认为true,表明子控件可以作为UpdatePanel自身的触发器;相反,
ChildrenAsTriggers=false表明子控件不能作为该UpdatePanel自身的触发器.另外,如果值为false,则下面要介绍的一个属性—UpdateMode必须为Conditional.如果UpdateMode等于它的另外一个值(aways)的话,程序运行时则抛出异常.为嘛呢?请看UpdateMode.

    UpdateMode:它有两个值,一个是aways,表示任何控件引发的异步回送都将更新该updatepanel,它太勤奋了.而上面提到的ChildrenAsTriggers=false则表示子控件不能作为触发器更新该updatepannel,显然,这两个设置是冲突的,所以运行时会抛出异常.UpdateMode的另外一个值是Conditional,它表示只有它内部的控件或者它指定的控件引发的异步回送,它才更新.它着懒,象我一样。哈哈~~:)  另外,如果在服务器端调用了它的Update()方法,该UpdatePanel也会更新.

    

    Triggers:这是UpdatePanel中最重要的属性.在Triggers中可以添加两种触发器:postbacktrigger和asyncpostbacktrigger.postbacktrigger引发整个页面的回送(普通的页面回送),而asyncpostbacktrigger引发异步回送(ajax).    简单来说,asyncpostbacktrigger这个触发器的主要作用就是指定updatepanel外的某个控件的某个事件发生时,更新该updatepanel.   而postbacktrigger就是对于在updatepanel之内的控件,让它具有整页回送的能力.

    总二言之,updatepanel控件本身是让它内部的子控件拥有异步回送能力.而asyncpostbacktrigger触发器是让updatepanel之外的控件也具有异步回送能力,postbacktrigger触发器则让updatepanel之内的控件具有整页回送能力.

    Updatepanel无疑拥有很强大的能力,同时,它也拥有很大的弊端.

    首先,和理想的ajax程序相比,它大大增加了网络传输量.理想的ajax程序只是在页面加载时传送html,其它后续的与服务器端的交互都只是传送数据.而updatepanel则在交互中传输了所有包含在它之内的数据,当然也包括html,这显然是在传输大量的无用数据.最坏的情况下有可能超过传统的整页传送方式的流量.

    第二,在服务端没有因为updatepanel的应用而得到任何负载的减轻,相反,为了处理updatepannel相关逻辑,服务器的负担进一步加重.在执行过程中,updatepanel只是在页面呈现的时候去掉了updatepanel之外的内容,其余的部分和传统的页面传送没有任何区别.

    PS:微软的控件确实很方便,但是问题也多多.我觉得如果是企业应用,对性能要求不高的话,控件是不错的选择,能缩短开发周期.我还没研究过,但是我想对于大访问量的web应用来说,我觉得还是纯粹的ajax客户端解决方案更为可行,不过听说开发起来比较困难.在了解过服务器端ajax控件后,我准备去学习一下客户端的解决方案.

    

    

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/155020.html原文链接:https://javaforall.net

(0)
上一篇 2022年7月1日 下午11:16
下一篇 2022年7月1日 下午11:16


相关推荐

  • 视觉里程计Visual Odometry(VO)「建议收藏」

    视觉里程计Visual Odometry(VO)「建议收藏」视觉里程计(VisualOdometry,简称VO)是SLAM技术中非常关键的部分,主要侧重于计算机视觉算法.视觉里程计这个术语借鉴了汽车的车轮里程计的概念,还是挺贴切的。我们知道汽车的车轮里程计是用来测量车速、行驶距离的测量装置。它的原理可以简单的做如下理解:汽车的车轮直径是已知的,那么车轮的周长也可以计算出来,都是一个恒定的值。车轮上安装有一个“计数器”,车轮每转动一圈就记一次数字,两次计数之间的时间也是可以测量的,因此根据车轮的周长和两次计数时间差…

    2022年6月18日
    31
  • snort:预处理器开发HelloWorld

    snort:预处理器开发HelloWorld文章目录参考 1 预处理器回顾 2 README PLUGINS3 spp template c 参考 Snort 预处理插件 HelloWorld 程序开发 Snort 预处理器介绍 详细 本专栏所有相关博文使用的 snort 版本均为 2 9 151 预处理器回顾预处理器在 Snort 应用规则前处理接收到的数据预处理器对每一个数据包只执行一次被捕获的数据包首先经过预处理器 然后经过探测引擎根

    2025年7月22日
    4
  • SpringCloud详细教程(上)

    SpringCloud详细教程(上)SpringCloud详细教程,SpringCloud详细教程。SpringCloud是一系列框架的有序集合。如服务发现注册、配置中心、消息总线、负载均衡、断路器、数据监控等,都可以用SpringBoot的开发风格做到一键启动和部署。本文主要介绍了SpringCloud的核心组件以及如何基于SpringCloud构建微服务。

    2022年5月24日
    41
  • matlab产生高斯白噪声

    matlab产生高斯白噪声函数介绍matlab里和随机数有关的函数:(1)rand:产生均值为0.5、幅度在0~1之间的伪随机数。(2)randn:产生均值为0、方差为1的高斯白噪声。(3)randperm(n):产生1到n的均匀分布随机序列。(4)normrnd(a,b,c,d):产生均值为a、方差为b大小为cXd的随机矩阵。rand:返回一个在区间(0,1)内均匀分布的随机数。rand(n):生成0到1之间的n阶(n×n)随机数方阵。rand(m,n):生成0到1之间的m×n的随机数矩阵。

    2025年8月25日
    4
  • 【C++深陷】之“decltype”[通俗易懂]

    【C++深陷】之“decltype”[通俗易懂]decltype被称作类型说明符,它的作用是选择并返回操作数的数据类型。随着程序越来越复杂,有时候根本搞不清到底需要什么类型,不得不回过头去从上下文进行推测。decltype可以作用于变量,也可以作用于表达式。

    2025年10月17日
    6
  • cde网站_cde6150a车床

    cde网站_cde6150a车床给定一个 m x n 整数矩阵 matrix ,找出其中 最长递增路径 的长度。对于每个单元格,你可以往上,下,左,右四个方向移动。 你 不能 在 对角线 方向上移动或移动到 边界外(即不允许环绕)。示例 1:输入:matrix = [[9,9,4],[6,6,8],[2,1,1]]输出:4 解释:最长递增路径为 [1, 2, 6, 9]。示例 2:输入:matrix = [[3,4,5],[3,2,6],[2,2,1]]输出:4 解释:最长递增路径是 [3, 4, 5, 6]。注意

    2022年8月11日
    6

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号