网络编程
位置:首页>> 网络编程>> Asp编程>> 动态载入asp树源码

动态载入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选择符可以在一个
手机版 网络编程 asp之家 www.aspxhome.com