仓酷云

标题: ASP网页编程之怎样利用ASP剧本制造异步装载的树形布局... [打印本页]

作者: 飘灵儿    时间: 2015-1-16 22:50
标题: ASP网页编程之怎样利用ASP剧本制造异步装载的树形布局...
由于ASP还是一种Script语言所没除了大量使用组件外,没有办法提高其工作效率。它必须面对即时编绎的时间考验,同时我们还不知其背后的组件会是一个什么样的状况;剧本|异步树形布局是形貌条理数据的罕见办法。本文先容的树形布局天生程序次要由一个ASP页面、二个JavaScript函数组成。该树
形布局是异步的,也就是说,节点数据仅在需要时才读取,而不是一次性全体发送到客户端。




  1、概述

  树形布局中一切的节点都必需包括以上司性:自己的ID,父节点的ID,和本节点的申明(节点文本)。本文用到了一个
Access数据库Tree.mdb来保留这些节点信息。Tree.mdb包括表tblTree,其界说以下:
    字段称号范例申明
ElementID主动编号节点的独一标识
ParentElementID数字父节点的ID
ElementText文本节点文本



  本程序使用Tree.dsn文件界说Tree.mdb数据源。Tree.dsn内容能够用把持面板中的ODBC数据源设置程序失掉,内容以下:

 [ODBC]
 DRIVER=MicrosoftAccessDriver(*.mdb)
 UID=admin
 UserCommitSync=Yes
 Threads=3
 SafeTransactions=0
 PageTimeout=5
 MaxScanRows=8
 MaxBufferSize=512
 ImplicitCommitSync=Yes
 FIL=MSAccess
 DriverId=25
 DefaultDir=d:Inetpubwwwroot
 DBQ=d:InetpubwwwrootTree.mdb
  注重运转本文程序时,应该修正Tree.dsn中的DefaultDir和DBQ,使其指向准确的目次和文件。

  客户端功效分两部分完成:其一是一个一般的扫瞄器窗口,其二为一个IFRAME。IFRAME是不成见的,它的感化是卖力扫瞄器
窗口与服务器之间的通讯。上面是示例程序的一个运转界面:

  



        【】

  树形布局各个节点之间的干系能够用<DIV>标志暗示以下:

  



        【】

  在这里,文档的<BODY>是第一层节点(divTree0)的容器,第一层统共包括四个节点,这四个节点又分离是其子节点组的
容器。比方,上图中divTree0包括了div1、div2、div3和div4(它们分离对应一个节点);而div1又是divTree1的容器,
divTree1包括了div5――div8,div5又是divTree5的容器;而divTree5包括了div9……。

  鼠标单击事务由各个节点自己(div1,div2,……)呼应,而不是由容器呼应。节点呼应鼠标单击事务后将克制事务进一步
向上(向父节点)传送。这部分功效在GetTree函数内完成,请拜见该函数代码以懂得详细完成办法。

  全部树形布局的感化历程可用下图暗示:

  



        【】

  2、服务器端代码

  客户端剧本向服务器发送的哀求包括了一个节点标识,服务器剧本GetTreeData.asp查找数据库取得该节点的一切子字节点,
并将这些子节点前往给客户程序。GetTreeData.asp代码以下:

 <%DimrstTree
 DimstrSQL
 DimstrData
 
 IfRequest.QueryString("Level")=""Then
 Response.End
 EndIf
 
 strSQL="SELECT*FROMtblTreeWHEREParentElementId="
 strSQL=strSQL&Request.QueryString("Level")&"ORDERBYElementID"
 
 SetrstTree=Server.CreateObject("ADODB.Recordset")
 rstTree.OpenstrSQL,"FileDSN=d:inetpubwwwrootree.dsn"
 
 strData=""
 DoWhileNotrstTree.EOF
 strData=strData&rstTree("ElementId")&"|"&rstTree("ParentElementId")&"|"&
 rstTree("ElementText")&"|"
 rstTree.MoveNext
 Loop
 rstTree.Close%>
 
 <HTML>
 <BODYOnLoad="parent.PopulateTree('<%=strData%>');"></BODY>
 </HTML>
  注重:在实践利用中应响应地变动DSN文件地点路径。这段代码其实不庞大,但请注重以下两点:第一,客户哀求的格局应当为
“GetTreeData.asp?Level=节点ID”;第二,前往客户真个节点列表格局为“节点标识|父节点标识|节点文本|……”。</p>使用filesystemobject,可以对服务器上的文件进行操作,浏览、复制、移动、删除等。有ado的支持,asp对数据库的操作非常得心应手。你甚至可以像使用本地数据库那样,管理远程主机上的数据库,对表格、记录进行各种操作。
作者: 只想知道    时间: 2015-1-20 05:18
完全不知道到底自己学的是什么。最后,除了教程里面说的几个例子,还是什么都不会。
作者: 若相依    时间: 2015-1-28 18:21
那么,ASP.Net有哪些改进呢?
作者: 柔情似水    时间: 2015-2-5 22:25
Application:这个存储服务端的数据,如果不清除,会直到web应用程序结束才清除(例如重启站点)
作者: 透明    时间: 2015-2-13 22:56
如何更好的使自己的东西看上去很不错等等。其实这些都不是问题的实质,我们可以在实践中不断提升自己,不断充实自己。
作者: 活着的死人    时间: 2015-3-4 02:57
我可以结合自己的经验大致给你说一说,希望对你有所帮助,少走些弯路。
作者: 金色的骷髅    时间: 2015-3-11 15:36
先学习用frontpage熟悉html编辑然后学习asp和vbscript建议买书进行系统学习
作者: 爱飞    时间: 2015-3-19 01:27
如何学好ASP,以前也有人问过,把回答给你转过来看看能否对你有帮助:
作者: 分手快乐    时间: 2015-3-27 01:12
最近在学asp,不要问我为什么不直接学.net,因为公司网站是asp做的所以有这个需要,卖了本书asp入门到精通,对里面的六大内置对象老是记不住,还有很多属性和方法看的头晕。




欢迎光临 仓酷云 (http://ckuyun.com/) Powered by Discuz! X3.2