减少服务器流量

ZDNet软件频道 时间:2002-08-26 作者:BUILDER.COM |  我要评论()
本文关键词:
在利用Visual Interdev来建构应用程序时,你可以使用客户机端JavaScript和HTML来提高ASP Design Time Control (DTC)栅格的灵活性。
在利用Visual Interdev来建构应用程序时,你可以使用客户机端JavaScript和HTML来提高ASP Design Time Control (DTC)栅格的灵活性。问题的关键是创建一个可分数据栅格,这样应用程序就不需要向服务器发出调用来建立或重建表格。
基本内容

数据栅格就是ASP用来动态地建立HTML表格的DTC。就像HTML表格一样,他们由容器标签所组成。在客户机端唯一的差异在于数据栅格是双表格的,一个外部表格和一个内部表格。而真正的差异是在服务器端的,在那里,DTC数据栅格专栏可以被结合到数据库的recordset对象之上,这个对象可以根据客户机的请求来建立栅格行,这就给了DTC数据栅格以极大的灵活性。

另一个关键元素是span标签。它是一个容器标签,可以作为其他HTML元素的包装者来使用。它使你能够对任何在<span id=’xyzzy’></span>标签之中所包含的内容应用风格单规则。更重要的是,span标签可以进入DTC数据栅格的outerHTMLinnerHTML之中,使你可以修改在每一个表格中所包含的内容。

JavaScript基本原理

JavaScript 是一种特别的客户机端脚本编程语言,这是因为对于其他脚本编程语言,有更多的浏览器支持JavaScript。JavaScript可以处理文档事件,例如onLoadonUnload。提供这些时间处理器的一个途径是改变页面的主体标签,编码:

<body onload=”JavaScript:plugh()” onunload=”JavaScript:plover()”>

当文档加载时调用plugh() 函数,当文档卸载时调用plover()函数。

技术

我们从sortableTable类开始看,他定义了一个可分的数据栅格或是HTML表格。你可以像这样创建一个类的实例:

‘var objTBL = new sortableTable(‘myTable’);‘.

sortableTable类有两种方式:columnupdatecolumn方式定义了一个可分的专栏和其中的数据类型,通过将专栏标题文本字符串作为第一个参数传递给方式,专栏可以被定义为可分的。第二个参数也是一个字符串,它定义了一个专栏的数据类型。有效的数据类型包括string, number, currency和date。为了防止排版错误,我定义了变量stString, stNumber, stCurrency和stDate来作为参数使用。Update方式将选定的专栏设为可分的并执行预处理来加速分类。

我还创建了sortColumn函数,由于此函数分类信息的特征,我不能使用JavaScript的内建分类函数,取而代之的是,我选择了Quick Sort算法(由C. A. R. Hoare在1960发明),他很容易理解并且速度很快。SortColumn函数只可以由sortableTable类的实例来使用,这里并不建议任何其他方面的使用,因为这样是有危险的。

如何创建可分的表格

现在基础工作已经完成,让我们开始。首先,在页面的HTMl标签中加入JavaScript库,这将提供对sortableTable类,sortColumn函数和预定义变量的访问。下一步是要将数据栅格或表格压缩至span标签,并且有一个唯一的ID。最后,在代码中加入一个onLoad事件处理器来定义一个可分的表格,你应该可以看到类似于图A中的情况。

图A

点击放大

定义表

library.js文件包含创建可分数据栅格所必需的JavaScript。你可以从这里下载JavaScript库。library.js将把在<span id=”myTable”></span>标签之间所包含的HTML表格分开并在行和列的基础上建构数组。此外,专栏标题被修改为HTML锚标签,他在特定专栏的基础上运行sortColumn函数来分类。

结论

在开发的全过程中,我的目标是避免由于不同的专栏的数据栅格分类而再次向服务器查询。这个理念是一个减少服务器流量的途径,他还显示了对于客户机端脚本编程不仅仅只是一些滚动条或是弹出窗口。


责任编辑:炒饭

欢迎评论或投稿


百度大联盟认证黄金会员Copyright© 1997- CNET Networks 版权所有。 ZDNet 是CNET Networks公司注册服务商标。
中华人民共和国电信与信息服务业务经营许可证编号:京ICP证010391号 京ICP备09041801号-159
京公网安备:1101082134