6.2.1 使用示例頁面 本書已經提供了一系列的示例頁面來說明所有這些組件的用法。 可以從Wrox Web網站上下載這些實例頁面,并在自己的計算機上運行。在下載的文件的Chapter06子目錄中會找到本章所用的程序代碼。 在運行示例頁面之前,確保MyInfo和Counter組件的“全局”實例化代碼已包含在缺省Web站點的global.asa文件中。在示例文件中提供了global.asa文件中所需要的代碼,可以將這些代碼加到現有的global.asa文件中,不需要更換整個文件。 <!-- declare instance of the ASP Counters component with application-level scope --> <OBJECT ID="objCounters" RUNAT="Server" SCOPE="Application" PROGID="MSWC.Counters"> </OBJECT>
<!-- declare instance of the ASP MyInfo component with application-level scope --> <OBJECT ID="objMyInfo" RUNAT="Server" SCOPE="Application" PROGID="MSWC.MyInfo"> </OBJECT> 示例文件的主菜單頁面(Default.asp)使用Content Linking組件創建到每一個頁面示例的鏈接。因此,我們將首先研究這個組件,也涉及了Ad Rotator和Counters組件的有關問題。
6.2.2 Content Linking組件 Content Linking組件對網站是非常有用的工具,它提供了內容頁面,或者包含對同一站點上其他頁面的鏈接列表的頁面。它自動把當前顯示頁面的URL與存儲在服務器里的文本文件的頁面列表匹配起來并且能允許用戶通過頁面列表按正反順序進行瀏覽。也就是說,即使訪問者已經在內容頁面中點擊了一個鏈接并且正在查看列表中的某一個頁面,該組件仍然會辨認出所訪問的頁面在列表中的位置。 因為所有詳細資料均在一個文本文件中,維護網站以及頁面的鏈接僅僅需要編輯這個文本文件。例如可以通過在內容鏈接列表文件中重新排列頁面的順序,來改變它們的顯示順序。 1. 內容鏈接列表的文件 內容鏈接列表文件包括一個簡單的按顯示順序排列的URL列表,同時也提供了相應的描述,用于在內容頁面中顯示鏈接文本。如果需要,還可以增加對每個頁面的注釋,注釋可以幫助識別鏈接,但對訪問者來說注釋是不可見的。 列表文件對于每個頁面包含一個文本行。每一行由URL、描述和注釋所組成,各部分由Tab字符(不是空格,否則文件將不能工作)分隔,最后有回車結束。例如: newpages.htm New additions to our site we update this weekly offers.htm Special Offers for this week we only update this monthly register.htm Registration for new users main.htm The main forum and chat area must be registered first index.htm Back to the contents page 請注意目標URL必須由一個相對的虛擬或物理的路徑來說明,諸如forum/enter.htm。URL不能使用“http:”、“//”或者“//”作為開頭,如果要創建上述這樣含有絕對URL的菜單,可以使用ASP建立一個重新定向頁面,而且在內容鏈接列表文件中對其進行指定,例如,建立一個名為redirect.asp的頁面,包含如下代碼: <% 'redirect the request to the site specified in the query string Response.Clear Response.Redirect Request.QueryString("url") %> 可以在內容鏈接列表文件中按下述方式使用redirect.asp文件: redirect.asp?url=http://www.cyscape.com/ CyScape BrowserHawk Web Pages redirect.asp?url=http://www.softartisans.com/ SA fileUp Component Pages redirect.asp?url=http://www.stonebroom.com/swindex.htm Stonebroom RegEx Pages 2. Content Linking組件的成員 Content Linking組件提供了八種方法,如表6-1所示。這些方法能夠檢索來自內容鏈接列表文件的條目,既能相對于當前頁面檢索條目,也可以使用索引號檢索絕對條目。第一個條目的索引號是1。 表6-1 Content Linking組件的方法及說明 方 法 說 明