用ASP实现网站的“目录树”管理

数据库结构(共使用了两个表)

1.tblCategory 
字段名 类型 
Root binary 说明树关或开(目录的根) 
ID 自动编号 关键字 
Sort integer 识别该字段内容的整数(如果root是开状态sort为0)表示显示的目录的顺序 
Name text(255)可以包含html中的标识符 
HREF text(255) 允许空 

2.tblPages 
ID 自动编号 
Sort integer 关键字 
Name text(255) 
HREF text(255) 

3. default.htm 

〈html> 
〈head> 
〈title>JavaScript Tree Control Template〈/title> 
〈/head> 
〈frameset cols="210,*"> 
〈frame src="tree.asp" name="TOC"> 
〈frame src="main.htm" name="basefrm"> 
〈/frameset> 
〈/html> 

4. main.htm 

  <html>
〈head>〈title>〈/title>〈/head> 
〈body> 
〈h2>Start Page〈/h2> 
〈/body> 
〈/html> 

5. tree.asp 

<%
Set conn = Server.CreateObject("ADODB.Connection") 
Set Rs = Server.CreateObject("ADODB.Recordset") 
conn.open "DRIVER=Microsoft Access Driver (*.mdb);DBQ=" & Server.MapPath("toc.mdb") 

strsql = "SELECT tblCategory.Root, tblCategory.[ID], tblCategory.Sort AS CatSort, tblPages.sort AS LinkSort, tblCategory.[Name] AS CatName, tblCategory.HREF AS CatURL, tblPages.[Name] AS LinkName, tblPages.href AS LinkURL FROM tblCategory LEFT JOIN tblPages ON tblCategory.[ID] = tblPages.[ID] ORDER BY tblCategory.root ASC, tblCategory.Sort, tblPages.sort" 

rs.open strsql, conn, 2, 2 

if not rs.eof then rs.movefirst 
currentID = "" %> 
〈html> 
〈head> 
〈link rel="stylesheet" href="ftie4style.css"> 
〈!-- Infrastructure code for the tree --> 
〈script src="ftiens4.js">〈/script> 
〈!-- Execution of the code that actually builds the specific tree --> 
〈script> 
USETEXTLINKS = 1 
〈% 
Do While Not Rs.EOF 
If Rs("Root") = True Then %> 
foldersTree = gFld("〈%= Rs("CatName") %>", "〈%= Rs("CatURL") %>") 
〈% Else %> 
aux1 = insFld(foldersTree, gFld("〈%= Rs("CatName") %>", "〈%= Rs("CatURL") %>")) 
〈% currentID = Rs("ID") 
savedID = Rs("ID") 
Do While currentID = savedID and not rs.eof 
if Rs("LinkName") 〈> "" Then
%> 
insDoc(aux1, gLnk(0, "〈%= Rs("LinkName") %>", "〈%= Rs("LinkURL") %>")) 
〈% 
end if 
Rs.MoveNext 
if not rs.eof then currentID = Rs("ID") 
Loop 
End If 
if currentID = "" then rs.movenext 
Loop %> 
〈/script> 
〈script> 
initializeDocument() 
〈/script> 
〈base target="basefrm"> 
〈title>〈/title> 
〈/head> 
〈body bgcolor="white"> 
〈/body> 
〈/html>

                                       (转载自网络教室)