(1) 建立一個內容頁面
我們已經使用Content Linking組件為本章提供的樣本建立了菜單頁面。Chapter06檔案夾中的頁面Default.htm採用上述代碼建立菜單,如圖6-2所示:
圖6-2 使用Content Linking組件建立的菜單頁面
可以看到內容連結清單檔案的內容顯示在連結的下面,我們使用FileSystemObject對象完成這一工作。
<%
'create an instance of a FileSystemObject object
Set objFSO = Server.CreateObject("Scripting.FileSystemObject")
'open the text file as a TextStream object
Set objTStream = objFSO.OpenTextFile(Server.MapPath("contlink.txt"), ForReading)
Response.Write objTStream.ReadAll 'read the whole file and put into page
ObjTStream.Close
%>
如果你編輯了contlink.txt檔案,下次再次調用這個頁面時,會看到菜單的條目發生了變化。注意檔案中的最後三個條目,這三個條目使用前面介紹的redirect.asp技術,把絕對(而不是相對)的URL插入到列表中。
(2) 瀏覽這些頁面
建立一個Content Linking組件執行個體並且使用它的一個方法時,將把當前頁面的URL與指定的內容連結清單檔案中的條目相匹配。不僅能用該組件建立一個內容列表(就像剛看到的那樣),而且當在瀏覽器上開啟其中一個頁面時,可以用該組件對列表中的各個頁面進行導航。
這意味著可以用超連結或按鈕從這些頁面中的一個移到另一個。例如,可以給頁面添加Next和Back按鈕,通過使用GetNextURL和GetPreviousURL方法能知道列表中的哪一個頁面是前一個,哪一個頁面是下一個。另一方面,能用GetNthURL方法跳到列表中的任何頁面,用GetListIndex方法能知道當前頁面在列表中的位置。
下面是一段給頁面添加Next和Back按鈕的代碼,我們要做的只是把這段程式放在內容連結檔案所列出的每一頁中,或者用SSI的#include指令將它插入其中。
<!-- need a form to force Navigator to display the buttons -->
<FORM ACTION="">
<%
'we'll insert this into each page using an SSI #include statement
'create an instance of the Content Linking component
Set objNextLink = Server.CreateObject("MSWC.NextLink")
'set the content linking list file path and name
strListFile = "contlink.txt"