人人做人人澡人人爽欧美,国产主播一区二区,久久久精品五月天,羞羞视频在线观看免费

當前位置:蘿卜系統下載站 > 技術開發教程 > 詳細頁面

asp優化:用數據綁定完成高效率動態頁面

asp優化:用數據綁定完成高效率動態頁面

更新時間:2022-07-07 文章作者:未知 信息來源:網絡 閱讀次數:

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

   本文將介紹數據綁定的體系結構、工作原理及其實現方式,最后對這兩種方法在編程工作量和網頁效率等方面做出比較和結論。

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

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

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

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


   圖1

  

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

    數據綁定的實現
   本節將根據數據綁定的體系結構,分別介紹它的各個組成部分及其實現。

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

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

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

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

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

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

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

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

   DSO可以在設計時指定,也可以在運行時動態增加、修改和刪除。

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

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

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

   支持數據綁定的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支持只讀功能的數據綁定;而Input(除Button類型外)、Select、Textarea、Object和Applet元素支持被綁定數據的Update功能。

   3. 數據綁定支持的操作

   對于只讀類型的Data Consumer來說,數據綁定支持的操作就是顯示DSO提供的數據集。具體功能包括:

   ● 動態增加和修改被綁定元素及DSO,如改變所顯示的數據字段、對數據集進行過濾和排序等。

   ● 動態改變數據集的顯示方式,數據可以用HTML格式顯示,也可用簡單的Text格式顯示。

   ● 動態控制被顯示數據的數量,即可動態改變分頁顯示時每頁包含的記錄數。

   支持Update功能的Data Consumer不但支持上述功能,還支持記錄的增加、修改和刪除。也就是說,用戶在交互頁面上對數據的增加、修改和刪除,將影響到顯示該數據的元素所綁定到的數據集。為了方便對數據集的控制,數據綁定允許開發人員使用ADO(Active Data Objects)提供的所有方法和屬性來維護DSO提供的數據集,包括Insert、Update、Delete及Navigation等操作。

   數據綁定中一個非常重要的問題是,一定要清楚對Data Consumer所做的操作到底影響了哪些數據:是只對本地Cache中的數據起作用,還是已真正改變了后端數據庫(這與DSO的類型有關)。TDC、XML Data Source以及MSHTML Data Source都只支持對Cache中的數據進行改變,而不支持將改變后的Cache中的數據提交到數據源所連接的后端數據庫。而RDS和JDBC DataSource Applet都支持修改后端數據庫的功能。

比較及結論
   從表1可以看出,相對于服務器端腳本,數據綁定所生成的網頁工作效率明顯提高。但是使用該方法對程序員的要求較高,需要對Data Binding的深刻理解才能充分發揮將它的優良特性。復雜的工作就是高效率所必須付出的代價,在應用中,開發者應根據具體的需求和實際情況,選擇適宜的方法或是將兩者結合使用,以便獲得最高的性能價格比。

表1

比較項目

數據綁定

服務器端腳本

網頁工作效率

數據下載

同步/異步

同步

對數據進行過濾或排序

只需建立一次連接

n次操作需建立n次連接

分頁顯示

只需建立一次連接

每次翻頁需要新連接和定位數據

通過data consumer直接修改數據庫

支持,且不需編程

支持,但需編程

結論

下載速度明顯提高,與用戶交互快,提供高質量的服務

下載速度與交互速度不如數據綁定方式

編程工作效率

編程靈活性

編程工作量

編程復雜性

結論

編程工作量少,使用靈活.但要求程序員必須熟悉dso和data consumer所支持的特殊方法和屬性,編程比服務器端腳本復雜

雖然編程工作量大,但使用靈活簡便,只需熟悉一般數據庫操作的程序員即可勝任

溫馨提示:喜歡本站的話,請收藏一下本站!

本類教程下載

系統下載排行

網站地圖xml | 網站地圖html
主站蜘蛛池模板: 凤山市| 宾川县| 桐梓县| 宝兴县| 闽清县| 平南县| 铜川市| 昭平县| 古蔺县| 南康市| 凌源市| 福海县| 汨罗市| 英山县| 双辽市| 喜德县| 宣城市| 芦山县| 绥芬河市| 红河县| 金山区| 汝州市| 平陆县| 嵩明县| 鄂托克前旗| 荔浦县| 镇巴县| 深水埗区| 白城市| 洪泽县| 浑源县| 灌南县| 隆化县| 桐城市| 潞城市| 镇安县| 登封市| 怀安县| 渝北区| 繁峙县| 岚皋县|