AJAX设计模式实践 之 可刷新Ajax应用范例+Framework
来源:互联网 发布:数据统计怎么做 编辑:程序博客网 时间:2024/05/21 23:34
本文是对AJAX设计模式 之 怎样构建一个可刷新的无刷新应用一文中讨论的“可刷新Ajax设计模式”的实践,包含了一个对以上设计模式的实现范例,以及全新支持“可刷新Ajax设计模式”的AjaxHelper v0.7最新版本的介绍。
范例
大家可以先下载范例程序亲自体验!
在线演示
下载:RefreshableAjaxSample.zip
这是一个Asp.Net v1.1下的Web Application,点击范例网页中的任意链接,并尝试点击浏览器的刷新按钮,或者按F5刷新页面,可以看到,虽然网页功能是基于Ajax来实现的,但是,刷新网页时是不会丢失当前显示内容的。
原理
“可刷新Ajax设计模式”的实现原理之前的文章中已有概述,这里就不多说了,大家可以参见范例代码!
框架
以上范例基于新版的AjaxHelper DotNet Version 0.7构建,在新版本的AjaxHelper中,为实现“可刷新Ajax设计模式”提供了非常大的便利,具体的改进有:
1、新版本同时提供了AjaxHelper DotNet Version 和支持其它语言环境,如ASP, PHP, Perl等的AjaxHelper Flat Version(Flat版不包含对JSRS-JavaScript Remote Scripting的支持);
2、将之前版本的AjaxHelper中的Updater, Appender等函数封装到AjaxHelper命名空间,即新版本的函数必须以AjaxHelper.Updater...这样的方式调用;
3、新增支持“可刷新Ajax设计模式”的函数有:AjaxHelper.Params, AjaxHelper.Updater2, AjaxHelper.OnPageLoad。
其中,AjaxHelper.Params是一个HashTable,可以以AjaxHelper.Params['paramKey']这样的方式获得网页链接中"#"之后的参数;AjaxHelper.Updater2地使用方法和AjaxHelper.Updater完全一致,只是提供了新的对“可刷新Ajax设计模式”的隐含支持,调用方法可参见帮助文件或者参见我的Blog中之前的关于AjaxHelper的文章;AjaxHelper.OnPageLoad()需要被放置在网页的body元素的onload事件中,以实现网页刷新时的状态维持,可参见以上范例中具体的使用方法。
另外注意,在Flat版本中的所有ajaxTemplate参数必须是完整的网页路径,包括扩展名,而DotNet版中,ajaxTemplate必须是指向UserControl的路径,可以包含.ascx扩展名,也可以不包含,建议不包含。
使用中如有任何问题或建议,欢迎给我留言!
下载
AjaxHelper_DotNet_v0.7.zip
AjaxHelper_Flat_v0.7.zip
- AJAX设计模式实践 之 可刷新Ajax应用范例+Framework
- AJAX设计模式 之 怎样构建一个可刷新的无刷新应用
- aspx .net ajax应用范例
- AJAX设计模式之Lightbox
- AJAX设计模式之Lightbox
- AJAX设计模式之Lightbox
- AJAX设计模式之Lightbox
- 《ajax模式与实践》
- AJAX 学习实践之 表单无刷新提交
- AJAX 范例
- ajax 无刷新联动,ajax应用
- Zend Framework中应用Ajax
- AJAX 设计模式
- 初识AJAX设计模式
- RoR企业应用实践之二:Ajax与维护
- ajax之无刷新分页
- Ajax 之实例应用
- Ajax之prototype应用
- Component/Service Oriented Software System Development Thinking
- 重新诠释AOP
- 重新诠释SOA
- 上海科技馆C++大会第一天见闻
- 关于本Blog内容的声明、今后的发展方向及Teddy的其他相关站点
- AJAX设计模式实践 之 可刷新Ajax应用范例+Framework
- AJAX设计模式 之 怎样构建一个可刷新的无刷新应用
- 让人哭笑不得的“Unable to load one or more of the types in the assembly”问题的解决!
- 国庆庆祝一下
- AOP Practice with AspectWeaver0.6 - DebugPropertyValueModifying
- 从Design Pattern浅谈AOP
- 滑雪
- AOP编程实践之AspectWeaverSample1.0
- 高精度计时器---QueryPerformanceFrequency()与QueryPerformanceCounter()的使用