ASP 3.0進階編程(十九)
來源:互聯網
上載者:User
5.3.2 Dictionary對象樣本
本書提供了一系列樣本檔案可用來實驗指令碼已耗用時間庫的各種屬性。
本章代碼的預設頁面提供了一系列可使用的VBScript樣本連結。有些樣本對JScript同樣有效。這些樣本存放在Chapter05目錄下相應的子目錄裡,顯示的介面如圖5-2所示:
圖5-2 ASP指令碼運行期對象樣本頁面
要查看Dictionary對象的運行,在菜單頁面點擊第一個連結,開啟名叫show_dictionary.asp的頁面。這個頁面顯示了我們提供的Dictionary對象的內容,允許實驗其屬性和方法。螢幕如圖5-3所示:
圖5-3 Dictionary對象的屬性和方法
1. Dictionary的global.asa檔案
隨Dictionary對象樣本頁面提供的檔案之一是global.asa。它建立並預先填充了一個會話層範圍的Dictionary對象,因此其內容在頁面請求之間不會丟失。一般說來(考慮到可擴充性),這不是一個理想的做法。在這個例子裡,可以看到Dictionary的屬性和方法的效果。
如果在自己的伺服器上下載並安裝樣本,必須建立一個基於此global.asa檔案的虛擬應用程式。或者將其內容添加到預設網站的根資料夾中的global.asa檔案裡。在第3章講述了如何用嚮導建立虛擬應用程式。然而對於本樣本,建立一個虛擬應用程式最簡單的方法是在Chapter05樣本檔案夾內右擊dictionary子檔案夾,在Properties對話方塊的Home Directory選項卡裡,點擊Create按鈕,如圖5-4所示:
圖5-4 建立虛擬應用程式
在這個global.asa檔案裡,代碼使用<OBJECT>元素建立一個會話層範圍的Scripting.Dictionary對象執行個體。然後在Session_onStart事件處理常式裡將一系列值用Add方法放入Dictionary中,並將對Dictionary對象的引用指定給ASP會話變數MyDictionary:
<OBJECT ID="objBookList" RUNAT="SERVER" SCOPE="SESSION"
PROGID="Scripting.Dictionary">
</OBJECT>
<SCRIPT LANGUAGE="VBScript" RUNAT="SERVER">
Sub Session_onStart()
objBookList.Add "2610", "Professional Active Server Pages 3.0"
objBookList.Add "1274", "Instant JavaScript"
objBookList.Add "2882", "Beginning ASP Components"
objBookList.Add "1797", "Professional ASP Techniques"
objBookList.Add "1835", "AD0 2.0 Programmer's Reference"