如何使用ASP实现网站的“目录树”管理
2004-11-23 13:47
741 查看
使用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>
数据库结构(共使用了两个表)
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>
相关文章推荐
- Asp.net 安装和部署
- [老虎原创]提高ASP.NET的性能
- 在ASP中页面与数据库连接的几种实用方法
- 解决把水晶报表下载到客户端过程中,出现下载整个页面(.aspx)或者直接载web页中打开word文件的问题!
- 困扰中的vs2003启动问题
- 自治应用程序的体系结构
- asp.net2.0 最新的一些更正
- 创建ASP.NET WEB自定义控件——例程3
- ASP.NET WEB自定义控件
- 一段在asp中加密与解密对应的函数
- asp.net设置默认按钮的一种方法(041217更新)
- 关于ASP.Net中的时间处理
- 把岁月当行李 把往事当垃圾(四)
- ASP.NET 页面中水晶报表导出之二
- ADO.net中的DataReader对象
- ASP.NET 页面中水晶报表导出
- asp.net中发送邮件的几种方式
- ASP.NET控件的设计时支持
- ASP.NET 中 Cookie 的基本知识
- 使用 ASP.NET 的验证控件(转)