以前收集的一些资料---如何使用ASP实现网站的“目录树”管理

80酷酷网    80kuku.com

  使用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
<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>

分享到
  • 微信分享
  • 新浪微博
  • QQ好友
  • QQ空间
点击: