AJAX设计模式实践 之 可刷新Ajax应用范例+Framework

本文是对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

posted @ 2005-11-04 12:25  Teddy's Knowledge Base  Views(6948)  Comments(48Edit  收藏  举报