| 网站首页 | 文章中心 | 电子书下载 | 矢量图库 | 视频教程 | 素材下载 | 程序代码下载 | JS代码 | 论坛 | 
常用软件类:
|杀毒安全 |联络聊天 |网络软件 |多媒体类 |系统工具 |图形图像 |系统工具 |应用软件 |行业软件
开发设计类:
|动画制作 |图像处理 |3D设计 |操作系统 |站长学院 |网络相关 |WEB设计 |数据库类 |程序开发
AJAX制作目录树

作者:未知    文章来源:网络    点击数:    更新时间:2007-6-22
 
 
说明:这是Ajax的核心了,我们仔细分析。首先判断XMLHttpRequest是否已被成功创建,如果没有则给出提示:抱歉,您的浏览器不支持XMLHttpRequest,请使用IE6以上版本!
接下来的几行代码,是通过Post的方式将表记录的id发给处理页columnAdmin.asp进行数据查询,然后通过xmlHttp.responseText接收返回的数据。xmlHttp.readyState有四种状态,当它为4时,即从服务器返回结果的状态时(其它状态都显示:正在提交数据...),如果返回的数据没有错误(即xmlHttp.status==200),则将返回的结果填入相应的层中,如果有错误,则给出错误提示。
 
Asp部分
页面一:showChild.asp
 
<%
'连接数据库
dim conn,connstr,db
db="/websys/okajax/database/tree.mdb"
Set conn = Server.CreateObject("ADODB.Connection")
connstr="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath(db)
conn.Open connstr
'显示根目录
sql="select * from t_column where c_Depth=0 "
set rs=server.createobject("adodb.recordset")
rs.open sql,conn,1,1
do while not rs.eof
说明,前面几些大家如果熟悉ASP的话,都明白了,就是连接数据库然后查找出第一层目录,我们主要说明下面的程序。
if rs("c_childnum")>0 then
response.Write("<img id='p"&rs("c_Id")&"' src=""images/closed.gif"" width=""30"" height=""15"" onclick=""DivDisplay('c"&rs("c_id")&"','"&rs("c_id")&"','p"&rs("c_id")&"')"" style=""cursor : hand;"" align=""absmiddle"">")
else
response.Write("<img src=""images/nofollow2.gif"" width=""30"" height=""15"" align=""absmiddle"" >")
end if
说明:判断是否有子目录,如果有则显示图标 ,并给此图标赋一个ID,类似P1,P2,P3……,这里面还有一个单击事件,onclick=DivDisplay(divid,id,picid),就是前面JS里的主函数,如果没有则只显示图标

response.Write("<b>")
response.Write(rs("c_Name"))
if rs("c_childnum")>0 then response.Write("("&rs("c_childnum")&")")
response.Write("</b>")
response.Write("<br>")
if rs("c_childnum")>0 then
response.Write("<div id='c"&rs("c_Id")&"' style='display:none;'></div>")
end if
说明:上面这个IF也是判断目录是否有子目录,如果有则创建一个层,并给此层赋一个ID,类似C1,C2,C3……,层在开始时隐藏。
rs.movenext
loop
rs.close
set rs=nothing
conn.close
Set conn = Nothing
%>
 
页面二:columnAdmin.asp
<%
Response.ContentType = "text/html"
Response.Charset = "GB2312"
'解决乱码问题
Dim id,child
id=Request.Form("id")
if id="" then response.end()
'连接数据库
dim conn,connstr,db
db="/websys/okajax/database/tree.mdb"
Set conn = Server.CreateObject("ADODB.Connection")
connstr="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath(db)
conn.Open connstr
'显示子目录
sql="select * from t_column where c_parentid="&id
set rs=server.CreateObject("adodb.recordset")
rs.open sql,conn,1,1
do while not rs.eof
if rs("c_depth")>0 then
for i=1 to rs("c_depth")
child=child&"&nbsp;&nbsp;"
next
end if
if rs("c_childnum")>0 then
child=child&"<img id='p"&rs("c_Id")&"' src=""images/closed.gif"" width=""30"" height=""15"" onclick=""DivDisplay('c"&rs("c_Id")&"','"&rs("c_Id")&"','p"&rs("c_Id")&"')"" style=""cursor : hand;"" align=""absmiddle"">"
else
child=child&"<img src=""images/nofollow2.gif"" width=""30"" height=""15"" align=""absmiddle"" >"
end if
child=child&rs("c_Name")
if rs("c_childnum")>0 then child=child&"("&rs("c_childnum")&")"
child=child&"<br>"
if rs("c_childnum")>0 then
child=child&"<div id='c"&rs("c_Id")&"' style='display:none;'></div>"
end if
rs.movenext
loop
rs.close
set rs=nothing
conn.close
Set conn = Nothing
Response.Write (child)
Response.End
%>
 
说明:以上是处理页的ASP代码,相信有前面showChild.asp的说明,大家很容易看明白这些代码,基本是一样的。
 
这就是全部了,是不是很简单的就实现了目录树。
以上代码在IE 6.0和FireFox 2.0.0.3上测试通过。最后说明一下,本人只是一个普通的WEB程序员,对AJAX也是刚刚学不久,写这篇文章也只是想给有需要的朋友一些帮助。如果有什么错漏请大家指正。以下是我的联系方式:tangsiner@163.com
 
 
 
 
 

上一页  [1] [2] 


  • 上一篇文章:

  • 下一篇文章: 没有了
  • 相关文章
    AJAX应用程序开发七宗罪
    AJAX实列:开发智能Web应用程序
    Ajax程序设计入门
    ajax制作在线歌词搜索网页
    AJAX实现中级联菜单的设计
    AJAX的动态树型结构的设计与实现
    AJAX编写用户注册实例
    基于 Ajax 的无限级菜单
    Ajax.Net的快速入门
    Atlas客户端类库、控件介绍