类似 MSDN 左边导航树效果的实现! [JavaScript + ASP] (转)
MSDN 和CSDN 左边导航树的效果都是在点击父节点时,再发出请求填充其子节点!好像网页只刷新部分! Javascript+ [ASP + Access] 实现
源程序下载: http://www.triaton.com.cn/Private/Zip/Tree.zip
<!-- Tree.asp -->
<%
dim adoConnection
set adoConnection = Server.Createobject("ADOdb.Connection")
'adoConnection.Open "Provider=sqlOLEDB.1;Persist Security Info=False;User ID=sa;Initial Catalog=Test;Data source=TRIATONPSQL2KE"
adoConnection.Open "Provider=microsoft.Jet.OLEDB.4.0;Data Source=" & Server.mappath("/dvbbs") & "Tree.mdb;Persist Security Info=False"
dim adoRecordset
set adoRecordset = Server.CreateObject("ADODB.Recordset")
adoRecordset.Open "select *,(select count(*) from tree where parentid = T.id) as children from tree T where rootid = id ",adoConnection
dim i
i=0
do until adoRecordset.eof
%>
'>
<% if adoRecordset.Fields.item("Children").value >0 then %>
onClick='ExpandNode(Node_<% = i %>,<% =adoRecordset.Fields.item("id").value%>)'>+
<% else %>
>-
<% end if%>
,<% =adoRecordset.Fields.item("id").value%>)'><% =adoRecordset.Fields.item("remark").value%>
_0' style='display: none' loaded='no'>
正在加载 ...
<% i=i+1
adoRecordset.MoveNext
loop
adoRecordset.close
set adoRecordset = nothing
adoConnection.close
set adoConnection = nothing
%>
<!-- SubTree.asp -->
<%
dim parentid
parentid = request.querystring("PID")
parentnode = request.querystring("Parentnode")
dim adoConnection
set adoConnection = Server.CreateObject("ADODB.Connection")
' adoConnection.Open "Provider=SQLOLEDB.1;Persist Security Info=False;User ID=sa;Initial Catalog=Test;Data Source=TRIATONPSQL2KE"
adoConnection.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.mappath("/dvbbs") & "Tree.mdb;Persist Security Info=False"
dim adoRecordset
set adoRecordset = Server.CreateObject("ADODB.Recordset")
adoRecordset.Open "select *,(select count(*) from tree where parentid =T.id ) as Children from tree T where parentid = " & parentid ,adoConnection
response.write adoRecordset.source
dim i
Dim SHTML
dim parentnode
parentnode = request.querystring("Pnode")
dim j
j= len(parentnode) - len(replace(parentnode,"_",""))
dim nSpace
for i=0 to j - 1
nSpace = nSpace + ""
next
i=0
do until adoRecordset.eof
shtml = shtml _
& "" & nSpace _
& " if adoRecordset.Fields.item("Children").value >0 then
shtml = shtml & " onClick='ExpandNode(" & parentnode & "_" & i + 1 & "," & adoRecordset.Fields.item("id").value & ")'>+"
else
shtml = shtml & ">-"
end if
shtml = shtml & "n" & " if adoRecordset.Fields.item("Children").value >0 then
shtml = shtml & "onDblClick='ExpandNode(" & parentnode & "_" & i + 1 & "," & adoRecordset.Fields.item("id").value & ")'"
end if
shtml = shtml & ">" & adoRecordset.Fields.item("id").value & ": " & adoRecordset.Fields.item("remark").value & ""
if adoRecordset.Fields.item("Children").value >0 then
shtml = shtml & "" & nSpace & "正在加载 ..."
end if
i=i+1
adoRecordset.MoveNext
loop
adoRecordset.close
set adoRecordset = nothing
adoConnection.close
set adoConnection = nothing
'response.write shtml
%>
表结构:
Tree(id,parentid,remark)
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。