vs2005环境下Ajax控件updatepanel的一些 Bug和一些比较郁闷的地方
2010-02-10 10:39
387 查看
第一、Session丢失:
相信很多人都遇到这种情况,在通过updatepanel内部控件事件,或者注册至 upadatepanel的标签内的一些控件事件,作为对Session进行首次赋值(初始化Session)的操作时会抛一个alert异常的临时对话框至IE,并中断了赋值操作。但是忽略后就不会再重现这个异常,Sevice重启后首次操作就又会重现。
解决方法:1、在项目里首次对Session的操作不要放在Updatepanel里面,这样可以避免Ajax在初始化Session的时候产生的冲突;
2、在page头里面将EnableEventValidation的值设置为False(默认是True),通过该值会去判断是页面验证回调事件还是验证回发事件,此事件验证机制可消除未经授权的回发请求和回调带来的风险。通过此模型,控件可在呈现期间注册其事件,然后在回发或回调期间验证这些事件。默认情况下,ASP.NET 中的所有事件驱动控件均使用此功能。
第二、Response对象:
其实这不能算是个Bug,对于Ajax要实现的方向来说是无刷新异步数据互交,而Response对象的很多操作都是强制性刷新机制的,只是有些情况布局不大合理进行挽救的时候发现在updatepanel下某个控件出发了response的一些操作,造成抛出异常中断逻辑。
解决方法:通过ScriptManager是可以将部分控件用注册的形式(ScriptManager.RegisterPostBackControl(Control))来排除出updatepanel的。
相信很多人都遇到这种情况,在通过updatepanel内部控件事件,或者注册至 upadatepanel的标签内的一些控件事件,作为对Session进行首次赋值(初始化Session)的操作时会抛一个alert异常的临时对话框至IE,并中断了赋值操作。但是忽略后就不会再重现这个异常,Sevice重启后首次操作就又会重现。
解决方法:1、在项目里首次对Session的操作不要放在Updatepanel里面,这样可以避免Ajax在初始化Session的时候产生的冲突;
2、在page头里面将EnableEventValidation的值设置为False(默认是True),通过该值会去判断是页面验证回调事件还是验证回发事件,此事件验证机制可消除未经授权的回发请求和回调带来的风险。通过此模型,控件可在呈现期间注册其事件,然后在回发或回调期间验证这些事件。默认情况下,ASP.NET 中的所有事件驱动控件均使用此功能。
第二、Response对象:
其实这不能算是个Bug,对于Ajax要实现的方向来说是无刷新异步数据互交,而Response对象的很多操作都是强制性刷新机制的,只是有些情况布局不大合理进行挽救的时候发现在updatepanel下某个控件出发了response的一些操作,造成抛出异常中断逻辑。
解决方法:通过ScriptManager是可以将部分控件用注册的形式(ScriptManager.RegisterPostBackControl(Control))来排除出updatepanel的。
相关文章推荐
- 技巧和诀窍:用ASP.NET AJAX来处理UpdatePanel控件的出错
- ASP.NET AJAX 学习之三 UpdatePanel控件
- AJAX:ScriptManager和UpdatePanel控件的使用
- 解决FCKeditor在ASP.NET AJAX的UpdatePanel控件中按钮回调后内容丢失的问题
- aspnetajax UpdatePanel控件简单应用
- [导入]ASP.NET AJAX UpdatePanel 控件实现剖析
- UpdatePanel控件的使用(实现局部刷新,ajax)
- ajax(即使用了UpdatePanel控件的页面)的alert
- ASP.Net Ajax 学习笔记(2):UpdatePanel控件(中)
- ASP.NET AJAX入门系列:使用UpdatePanel控件
- jQuery AutoComplete在AJAX UpdatePanel环境中PostBack之后无法工作
- ASP.NET AJAX入门系列:使用UpdatePanel控件(一)
- AjaxControlToolkit 微软出的ajax.net 工具使用教程七 使用UpdatePanel控件(二)
- 用ASP.NET AJAX来处理UpdatePanel控件的出错
- FCKeditor在ASP.NET AJAX的UpdatePanel控件中按钮回调后内容丢失的问题
- ASP.NET AJAX(服务器控件 UpdatePanel、Timer、UpdateProgress)
- ASP.NET AJAX文档-介绍UpdatePanel控件[翻译](4)
- VS2005中配置 ScriptManager,UpdatePanel,UpdateProgress 等AJAX控件 .
- [ASP.NET AJAX]谨记给UpdatePanel中动态添加的控件赋ID
- C#三级省市区ajax联动控件,利用UpdatePanel,以及页面取值