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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • postman接口测试-参数化「建议收藏」

    postman接口测试-参数化「建议收藏」有一段时间没接触postman了,再次打开postman时,已经忘得差不多。。。在此,记录下postman的一些用法,方便以后需要一、参数化如:购物车接口,需要用到登录接口返回的token1.登录接口,在Tests里面设置usertoken环境变量,用来保存token值。2.获取购物车接口使用usertoken变量二、批量参数化如:搜索接口,需要搜索“测试”、“爱心”、“A”、“123”等关键字1…

    2022年6月26日
  • transition属性值

    transition属性值一、transition-property:transition-property是用来指定当元素其中一个属性改变时执行transition效果,其主要有以下几个值:none(没有属性改变);all(所有属性改变)这个也是其默认值;indent(元素属性名)。当其值为none时,transition马上停止执行,当指定为all时,则元素产生任何属性值变化时都将执行transition效果,id…

    2022年10月28日
  • 如何申请邓白氏编码_邓白氏编码可以重新申请吗

    如何申请邓白氏编码_邓白氏编码可以重新申请吗1.前提条件:拥有一个AppleID示范:(1)注册一个邮箱,注:不能是QQ邮箱(2)在苹果开发者中心注册AppleID,提示:最好把申请时输入的3个密保问题截图保存下来,便于以后找回账号密码2.注册邓白氏编码,网址https://developer.apple.com/enroll/duns-lookup/#!/search,注册的时候苹果官方会先根据你输入的信息查询该法…

    2022年10月27日
  • Google搜索解析规则-更准确的使用谷歌搜索引擎获取到自己想要的内容

    Google搜索解析规则-更准确的使用谷歌搜索引擎获取到自己想要的内容如果票选近二十年最伟大的发明,我相信搜索引擎肯定会占据一个不容小觑的位置,它不单是一项发明,更是一项成就,最大程度消灭了信息的不平等。既然人人都可以接触到海量的信息,那么衡量信息财富多寡就只剩下技巧这惟一的标准了:善用搜索引擎的都是信息时代的富翁,不懂搜索引擎的都是信息时代的负翁。而像程序员这种必须终生学习的职业,搜索引擎就是我们的左膀右臂。懂搜索引擎就是我们的基本功,不,应该是童子功。只

    2022年6月30日
  • Redis哨兵模式主从同步不可以绑定127.0.0.1或者0.0.0.0,不然无法进行主从同步

    Redis哨兵模式主从同步不可以绑定127.0.0.1或者0.0.0.0,不然无法进行主从同步

    2021年6月6日
  • MySQL相关 – 死锁的发生和避免

    MySQL相关 – 死锁的发生和避免

    2022年2月17日

发表回复

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

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