动态载入asp树源码
发布时间:2007-09-06 19:34:00
标签:asp,树
一个动态载入asp树源码。把 node.htc, style.css 保存与 css 目录下. index.asp subtree.asp 放与根目录.
另新建一ACCESS数据库 tree.mdb
表deeptree 结构为 id,content, parentid,link
页面: index.asp
<%@LANGUAGE="VBSCRIPT" CODEPAGE="936"%>
<%Option Explicit%>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>tree</title>
<link href="css/style.css" rel="stylesheet" type="text/css">
<script language="JavaScript">
<!--
var d1,d2;
function expand(id)
{
var d=new Date();
d1=d.valueOf();
var s_id = eval("s" + id);
var dir_id = eval("dir" + id);
if(s_id.href != ’’)
{
//window.open(s_id.href);
//or
//top.frames[’FrameName’].location.href = s_id.href;
}
switch(dir_id.open)
{
//改变"+","-"
case "true":
{
with(dir_id)
{
innerText = "+";
open = "false";
className = ’dirclose’;
}
if(document.getElementById("t" + id))
{
eval("t"+id).style.display = ’none’;
document.getElementById("load_" + id).style.display = ’none’;
return;
}
else
{
document.getElementById("load_" + id).style.display = ’none’;
}
break;
}
case "false":
{
with(dir_id)
{
innerText = "-";
open = "true";
className = ’diropen’;
}
document.getElementById("load_" + id).style.display = ’’;
if(document.getElementById("t" + id))
{
eval("t" + id).style.display = ’’;
eval("load_" + id).style.display = ’none’;
return;
}
else
{
document.frames[’hifm’].location.replace("subtree.asp?id=" + id);
}
break;
}
default:dir_id.innerText = "."; dir_id.className = ’dirNode’; return;
}
}
function ArrToHtml(ArrNode,nodeid)
{
//输出到页面
var node_html = ’<table id="t’ + nodeid + ’" width="100%" border="0" style="position: relative; left: 18px;" cellspacing="0" cellpadding="0">’;
var str,opened,cls
for (var i = 0; i < ArrNode.length; i++)
{
if (ArrNode[i].iChildren == 0)
{
str = ’.’;
opened = ’no’;
cls = ’dirNode’;
}
else
{
str = ’+’;
opened = ’false’;
cls = ’dirclose’;
}
node_html += ’<tr><td id="node’ + ArrNode[i].id + ’" class="td_node" valign="top"><span class="’ + cls + ’" id="dir’ + ArrNode[i].id + ’" onclick="expand(’ + ArrNode[i].id + ’)" open="’ + opened + ’">’ + str + ’</span><span class="node" id="s’ + ArrNode[i].id + ’" onclick="expand(’ + ArrNode[i].id + ’)" title="’ + ArrNode[i].Content + ’" href="’ + ArrNode[i].strLink + ’">’ + ArrNode[i].Content + ’</span></td></tr>’;
if (ArrNode[i].iChildren > 0)
{
node_html += ’<tr id="load_’ + ArrNode[i].id + ’" style="display: none"><td class="td_node"><table border="0" cellspacing="0" cellpadding="0" style="position: relative; left: 18; top: 0px"><tr><td class="td_node"><span class="dirNode">.</span><span class="load">Loading...</span></td></tr></table></td></tr>’;
}
}
node_html += ’</table>’;
if (document.getElementById("load_" + nodeid))
{
document.getElementById("load_" + nodeid).style.display = "none";
document.getElementById("node" + nodeid).innerHTML += node_html;
var d=new Date();
d2=d.valueOf();
message.innerHTML = "耗时:"+(d2-d1)+"ms";
}
}
-->
</script>
</head>
<body topmargin="0" leftmargin="0" scroll="yes">
<%
Dim conn,rs
Dim s,open,cls
On Error Resume Next
Set conn = Server.CreateObject("ADODB.Connection")
conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.mappath("tree/tree.mdb") & ";Persist Security Info=False"
Set rs = Server.CreateObject("ADODB.Recordset")
rs.Open "select *,(select count(*) from deeptree where parentid = T.id) as children from deeptree T where parentid=0 order by parentid",conn,1,3
%>
<div id="message" style="height: 20px" align="center"> </div>
<div align="center">
<center>
<table border="0" width="100%" cellspacing="0" cellpadding="0" height="100%" bgcolor="#F2F2F2">
<tr>
<td width="260" valign="top" align="left">
<div id="treedir" style="overflow: auto; width: 30%; height: 100%;">
<table border="0" cellspacing="0" cellpadding="0" style="position: relative; left: 18px; top: 20px;" width="100%">
<%
Do While Not rs.EOF
If rs("children") = 0 Then
s = "."
open = "no"
cls = "dirNode"
Else
s = "+"
open = "false"
cls = "dirclose"
End If
%>
<tr>
<td id="node<% = rs("id")%>" class="td_node" valign="top"><span class="<% = cls %>" id="dir<% = rs("id") %>" onclick="expand(<%=rs("id")%>)" open="<% = open %>"><% = s %></span><span class="node" id="s<% = rs("id") %>" onclick="expand(<% = rs("id") %>)" title="<% = Trim(rs("content")) %>" href="<% = Trim(rs("link")) %>"><% = rs("content") %></span>
</td>
</tr>
<% If rs("children") > 0 Then%>
<tr id="load_<% = rs("id") %>" style="display: none">
<td class="td_node">
<table border="0" cellspacing="0" cellpadding="0" style="position:relative;left:18;top:0" width="100%">
<tr>
<td class="td_node"><span class="dirNode">.</span><span class="load">Loading...</span>
</td>
</tr>
</table>
</td>
</tr>
<%End If%>
<%
rs.MoveNext
Loop
%>
</table>
</div>
</td>
</table>
</center>
</div>
<%
Set rs = Nothing
Set conn = Nothing
%>
<iframe id=’hifm’ width=0 height=0 style="display: none" height="100%" width="100%"></iframe>
</body>
</html>
0
投稿
猜你喜欢
- 【原文地址】My "First Look at Orcas" Presentation 【原文发表日期】 Th
- 数组我们已经提到过,对象是无序数据的集合,而数组则是有序数据的集合,数组中的数据(元素)通过索引(从0开始)来访问,数组中的数据可以是任何的
- 一、85%的广告没人看解读:如何挤进那15%的成功广告中去,吸引了读者就是成功了一半。Quester视角:反过来讲,只有不到1/5的广告能吸
- 你喜欢在博客文章中使用图片吗?是的,如果不是很麻烦的话,相信大家都不会介意放上几张漂亮的图片来点缀一下内容的,不过你的图片可能会导致下面的两
- 一、避免Firefox 背景图不显示的兼容问题,定义background 属性,先后顺序不能随意变动。background : backgr
- 随着CSS3越来越热,CSS3动画也逐渐受到大家的关注。这次有幸修改淘宝网全站页头,小小地应用了下(详见http://www.taobao.
- 相对于 Ajax,服务端 XMLHTTP 就是在服务端使用 XMLHttpRequest 对象了。虽然说,在服务端使用异步请求是比较不方便的
- 科讯5.0 标签和之前版本变化不大,如果用老版本的科讯,可以参考这个标签使用。相关文章:新云4.0 模板通用标签说明 标签清单:======
- Q0.创建用户【前提】 你必须有CREATE USER系统权限。当你使用CREATE USER语句创建一
- 在后台添加中一般我们都设置了一个“关键字”,而且一般输入可能如下: 娃娃,毛绒娃娃,日本充气娃娃 我们将根据这个来做,具体实现如下: 先看一
- 杭州最美的季节里,淘宝无障碍访问改善小组有幸邀请到盲人在线站长——争渡读屏团队成员——杨永全同学和我们一起面对面交流网站无障碍访问方面的问题
- 比如:Set Connobject=nothing nothing如同英文单词字面意思,没有,没有那个,没有这个,没有东西 Set Conn
- 在Oracle 8i中,往往会出现要在存储过程中运行操作系统命令的情况。一般来说,利用Oracle Enterprise Manager设定
- 内容摘要: Request和Response这两个对象是ASP所提供的内置对象中最常用的两个。在浏览器(或其他用户代理)和Web服
- 方法一:简单,得不到参数,只有一个虚拟路径 代码如下:GetUrl =request("url") 例如:http://
- meta是用来在HTML文档中模拟HTTP协议的响应头报文。meta 标签用于网页的<head>与</head&
- blankzheng的blog:http://www.planabc.net/1、使用fieldset和legend标签在form中,我们经
- 动态生成的IFRAME,设置SRC时的,不同位置带来的影响。以下所说的是在IE7下运行的。IE6下也是同样。在这个blog中,直接点击运行代
- 此前piscdong已经做过一次评测了,这次的Beta正式推出,我也来参与一下.当回小白鼠吧.新的界面设计非常让人兴奋750){this.r
- 1、ul标签在Mozilla中默认是有padding值的,而在IE中只有margin有值。 2、同一个的class选择符可以在一个