日韩天天综合网_野战两个奶头被亲到高潮_亚洲日韩欧美精品综合_av女人天堂污污污_视频一区**字幕无弹窗_国产亚洲欧美小视频_国内性爱精品在线免费视频_国产一级电影在线播放_日韩欧美内地福利_亚洲一二三不卡片区

ASP優(yōu)化 用數(shù)據(jù)綁定實現(xiàn)高效率動態(tài)網(wǎng)頁_ASP教程

編輯Tag賺U幣
教程Tag:暫無Tag,歡迎添加,賺取U幣!

推薦:ASP中巧用Response屬性 -- contenttype
我在用ASP為某單位制作網(wǎng)頁時遇到這樣一個問題,單位以前的MIS系統(tǒng)中將一些Word文件以字節(jié)流的形式保存在數(shù)據(jù)庫中,現(xiàn)在用戶要求我用ASP將這些Word文件數(shù)據(jù)從數(shù)據(jù)庫中取出并在網(wǎng)頁中顯示出來。

數(shù)據(jù)綁定(Data Binding)并不是一個新概念,IE 4.0就已對其給予了豐富的支持。但是,數(shù)據(jù)綁定并未受到應(yīng)有的重視,許多開發(fā)者似乎更加愿意使用服務(wù)器端腳本(Server Script)的方法。然而實際上,無論是在動態(tài)網(wǎng)頁的代碼實現(xiàn)方面,還是在動態(tài)網(wǎng)頁的工作效率方面,數(shù)據(jù)綁定的效率都比后者更高。

本文將介紹數(shù)據(jù)綁定的體系結(jié)構(gòu)、工作原理及其實現(xiàn)方式,最后對這兩種方法在編程工作量和網(wǎng)頁效率等方面做出比較和結(jié)論。

首先讓我們看一個簡單的例子。某一網(wǎng)頁顯示倉庫的當前庫存情況,用戶可自行選擇數(shù)據(jù)的排序方式:按貨物的名稱、價格、庫存量等排序。使用服務(wù)器端的技術(shù),例如CGI、ISAPI,或者ASP等中間件,用戶若需要N種排序方式,則應(yīng)用程序腳本至少要向服務(wù)器提交N次數(shù)據(jù)請求。對于同樣內(nèi)容的數(shù)據(jù),僅僅因為顯示方式的不同,就要進行多次數(shù)據(jù)庫操作,耗費大量的網(wǎng)絡(luò)帶寬。

另一個常見的例子是,大量數(shù)據(jù)需要分頁顯示時,每一次翻頁都需要重新向服務(wù)器建立連接,遞交查詢請求,再定位數(shù)據(jù)。對這些類似問題,數(shù)據(jù)綁定都提供了高效的解決方案。

數(shù)據(jù)綁定的體系結(jié)構(gòu)和工作原理
數(shù)據(jù)綁定體系結(jié)構(gòu)包括四個組成部分:數(shù)據(jù)源對象(Data Source Object)、數(shù)據(jù)顯示對象(Data Consumers)和兩個代理器(Binding Agent與Table Reptition Agent)。數(shù)據(jù)源對象向網(wǎng)頁提供數(shù)據(jù),數(shù)據(jù)顯示對象就是顯示數(shù)據(jù)的HTML元素,代理器則用來保證前兩者的工作同步。圖1顯示了這四個部分協(xié)同工作的原理。

如圖1所示,數(shù)據(jù)源對象負責與后臺數(shù)據(jù)庫服務(wù)器通信,并將DB Server返回的數(shù)據(jù)以集合形式緩存在本地Cache。此后,對此數(shù)據(jù)集所做的任何操作,如排序、過濾、取子集等,都在本地Cache中進行,由代理器來負責數(shù)據(jù)源和顯示該數(shù)據(jù)的HTML元素之間的通信和同步。

圖1

數(shù)據(jù)綁定的這種工作方式,使得程序開發(fā)人員只要使用擴展HTML和可插入的數(shù)據(jù)源對象,就能使腳本的編程量達到最小。與傳統(tǒng)的服務(wù)器端腳本生成的網(wǎng)頁相比,數(shù)據(jù)只要一次下載到客戶端后,對該數(shù)據(jù)所做的任何操作都不再需要額外的服務(wù)器請求,因此節(jié)省了網(wǎng)絡(luò)帶寬,提高了下載速度。

數(shù)據(jù)綁定的實現(xiàn)
本節(jié)將根據(jù)數(shù)據(jù)綁定的體系結(jié)構(gòu),分別介紹它的各個組成部分及其實現(xiàn)。

1. 數(shù)據(jù)源對象(Data Source Object)

實現(xiàn)數(shù)據(jù)綁定的第一步是:確定網(wǎng)頁所要顯示的數(shù)據(jù),據(jù)此選擇一個適合的數(shù)據(jù)源對象(DSO),再在網(wǎng)頁中引用該DSO。數(shù)據(jù)綁定的靈活性首先表現(xiàn)在支持多種DSO,IE 4.0及以上版本支持下列DSO類型:

●Tabular Data Control(TDC):這是一種簡單的DSO,提供對格式化文本文件的訪問。也就是說,TDC提供的數(shù)據(jù)來源是用指定分隔符來格式化的文本文件。

●Remote Data Service(RDS):RDS的前身是ADC(Access Data Control)。RDS通過OLE-DB或ODBC與數(shù)據(jù)庫通信,獲得數(shù)據(jù)。

●JDBC DataSource Applet:它與RDS的不同之處在于數(shù)據(jù)庫連接使用JDBC。

●XML Data Source:擴展標記語言XML使用標準的方式來描述和交換結(jié)構(gòu)化數(shù)據(jù);XML的數(shù)據(jù)以開放的、基于文本的格式進行描述,并通過標準HTTP協(xié)議傳輸。XML本身的特性決定了它天生就是一種靈活強大的DSO。IE4.0使用JAVA APPLET來實現(xiàn)XML DSO;IE5.0支持Data Island,用戶可以直接用<XML>標記定義的數(shù)據(jù)作為DSO。

●MSHTML Data Source:除了使用外部的控件作為DSO外,開發(fā)人員還可以在HTML文檔中定義數(shù)據(jù)集,并使用MSHTML本身作為數(shù)據(jù)源。

●自定義類型DSO:除了以上明確定義的這五類DSO,IE還支持用戶自定義類型的DSO,只要該DSO遵循IE 4/MSHTML Data Binding Interface即可。

DSO可以在設(shè)計時指定,也可以在運行時動態(tài)增加、修改和刪除。

2.支持數(shù)據(jù)綁定的數(shù)據(jù)顯示對象(Data Consumer)

可綁定的HTML元素共分為兩大類:單值對象(Single-valued Consumer)和表對象(Tabular Consumer)。單值對象顯示DSO提供的當前記錄的某一個域,而表對象中的每行元素則分別對應(yīng)一條記錄中不同的域,并以此為模板重復(fù)顯示數(shù)據(jù)集中的每條記錄。數(shù)據(jù)顯示對象既可以在設(shè)計時綁定到DSO,也可以在運行時動態(tài)綁定。

DSO和Data Consumer的動態(tài)特性,使得已經(jīng)存在的元素綁定可以被修改;不但如此,DHTML對象模型(DHTML Object Modle)還支持運行時動態(tài)增加數(shù)據(jù)綁定元素和數(shù)據(jù)源對象,因此數(shù)據(jù)可以以異步方式下載到客戶端。該特性使得開發(fā)人員可以減少網(wǎng)頁內(nèi)容的初始化下載時間,并可在一個頁面上顯示多個不同數(shù)據(jù)集的內(nèi)容,交互式用戶將由此獲得高質(zhì)量的服務(wù)。

支持數(shù)據(jù)綁定的HTML元素包括:A、Applet、Button、Div、Frame、Iframe、Img、Input(包括Checkbox、Hidden、Label、Password、Radio、Text等類型)、Label、Marquee、Select、Span和Textarea。其中,A、Button、Div、Img、Frame、Iframe、Lable、Marquee以及span支持只讀功能的數(shù)據(jù)綁定;而Input(除Button類型外)、Select、Textarea、Object和Applet元素支持被綁定數(shù)據(jù)的Update功能。

3. 數(shù)據(jù)綁定支持的操作

分享:怎樣用ASP程序判斷一個盤上是否有文件
以下為引用的內(nèi)容: <% dim objfolder dim objfso dim j set fso=server.CreateObject("scripting.filesystemobject&q

共2頁上一頁12下一頁
來源:模板無憂//所屬分類:ASP教程/更新時間:2008-08-22
相關(guān)ASP教程