CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
花落谁家,你作主! 盛大widget设计大赛英雄榜
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  Web 开发 >  ASP

动态生成树状菜单,要求每级菜单项均可链接并发送不同的查询参数,有没有例子或建议。

楼主hookharsh(hookharsh)2002-04-19 17:01:48 在 Web 开发 / ASP 提问

 
        我在开发B/S   项目中遇到了动态生成多级菜单的技术问题。具体要求功能为:从SqlServer数据库表中读取信息,动态生成树状菜单,且每级菜单均可链接送出查询参数(包括根和叶)。    
      由于没有太多经验所以一直没有找到好的解决办法。希望能获得你的技术支持。  
       
   
      多谢!  
   
   
                                                                      我的邮箱:sfh8106@sian.com.cn 问题点数:50、回复次数:14Top

1 楼yihis(雪狼)回复于 2002-04-19 17:08:42 得分 5

这是我的一个公司内部留言板的代码,基本实现了你的要求  
  <!--#include   file="../adovbs.inc"-->  
  <!--#include   file="../dbconn/dbconn.asp"-->  
  <%  
      function   tree(officeid)  
        sql="select   *   from   officedb   where   officeparents='"&officeid&"'"  
        set   rs1=conn.Execute(sql)  
        if   rs1.bof   or   rs1.eof   then  
        else  
          while   rs1.eof=false  
  %>  
  <tr><td><input   type="button"   value=<%=rs1("officename")%>   onclick="window.open('discdisp.asp?officeid=<%=rs1("officeid")%>','discdisp','width=640,height=480,toolbar=no,menubar=no')"></td>  
  <td>  
    <table>  
  <%  
  tree(rs1("officeid"))  
  %>  
    </table>  
  </td></tr>  
  <%  
          rs1.movenext  
                  wend  
        end   if  
      end   function  
  %>  
  <center>  
  <table>  
  <tr>  
  <%  
    tree(0)  
  %>  
  </tr>  
  </table>  
  <table>  
    <tr>  
        <td>  
            <input   type="button"   value="公共留言"   onclick="window.open('discdisp.asp?officeid=0','discdisp','width=640,height=480,toolbar=no,menubar=no')">  
            &nbsp;&nbsp;&nbsp;  
            <input   type="button"   value="我的留言"   onclick="window.open('discdisp.asp?officeid=self','discdisp','width=640,height=480,toolbar=no,menubar=no')">  
        </td>  
    </tr>  
  </table>  
  </center>  
  实际上说来就是递归调用函数,用这种方法遍历数据库Top

2 楼hookharsh(hookharsh)回复于 2002-04-19 17:21:53 得分 0

多谢雪狼  
      其中的Tree()的作用是什么?能不能发份代码给我看看。  
   
   
  有劳Top

3 楼abigfrog(千年精灵)(★JAVA★)回复于 2002-04-19 17:25:49 得分 5

<%  
  tree(rs1("officeid"))  
  %>  
  楼上的,你最关键的tree函数没有提供,呵呵  
   
  实现这个功能可以在节点字段中加flag标示属于哪个节点,然后通过循环输出Top

4 楼xys(永不放弃)回复于 2002-04-19 17:26:03 得分 5

这种方法太过于简单化了。Top

5 楼ChinaOk(农村表哥)回复于 2002-04-19 17:29:03 得分 5

看到这里的菜单了吗?改改就好了。再加一个表示参数的变量就好了。Top

6 楼anakine(时间过得真快)回复于 2002-04-19 17:50:20 得分 0

只提供思路:  
  以前我做过一种树要表结构支持.其实就是把单向链表存到数据库中,表结构如下  
  ParentNode       ChildNode       value  
  ==============================  
  P000000001       P00000002         根结点  
  P000000002       P00000003         aaa  
  P000000002       P00000004         xxx  
  ......................  
   
  取出来生成树的时候用递归函数实现.我那时很笨的,没采用一次把数据读出来的再Find的方式,搞得生成速度很慢(结点多了的时候).呵呵希望对你有用。  
   
  还有这种树有个缺点,就是目标页面的链接只能相同,当然要达到指向的页面不现也能做,就是由一个目标页面判断传过来的值后再指向不现的页面。  
   
  Top

7 楼anakine(时间过得真快)回复于 2002-04-19 17:52:25 得分 20

更正,"不现"   应为   "不同".五笔输入法版本不对。Top

8 楼hookharsh(hookharsh)回复于 2002-04-19 20:16:48 得分 0

to   下雨不带伞  
      能不能给代码看看,呵呵,有实例教材学的要快些:)  
  多谢。Top

9 楼hope2002(乐于助人)回复于 2002-04-19 21:27:30 得分 10

如有需要可以发E_Mail:hope781220@sina.com.cn  
  这个程序是从Oracle数据库中读出数据并动态生成树(根据用户权限),是因开发一个项目需要而编制的,对你或许有所帮助。Top

10 楼anakine(时间过得真快)回复于 2002-04-19 22:18:30 得分 0

前些天我用ASP+ACCESS又写了一个动态树,只传一个SQL语句,与具体表结构无关。(本来发过一个贴子,后来不小心删掉了),下周一我发给你(但愿头儿不到这个版来,不然我惨了,呵)。  
   
  另:上面那个带用递归实现的树在删除时也要递归删,比较麻烦(还得一个空表保存上层结点),所以现在不用了,呵。Top

11 楼hookharsh(hookharsh)回复于 2002-04-21 14:06:43 得分 0

顶一下。。。Top

12 楼hookharsh(hookharsh)回复于 2002-04-22 14:02:32 得分 0

再顶。。。请高手出招。。。。Top

13 楼anakine(时间过得真快)回复于 2002-04-22 14:35:10 得分 0

我不是发给你了吗?   关键在于SQL语句的写法.不管几层的树(理论上是这样受制于字符串的长度),都可以生成.而且目标页面还可以不同!Top

14 楼hookharsh(hookharsh)回复于 2002-04-22 16:27:19 得分 0

TO   下雨不带伞  
      我还没有收到,麻烦你再发一哈,多谢了!Top

相关问题

  • 如何动态生成菜单项?
  • 怎样在 pb 中动态生成菜单项??
  • 如何为动态生成的菜单项添加click事件
  • 在DELPHI中动态生成菜单项,如何解决它的事件问题.
  • 如何得到用API生成的菜单项的单击事件并获得其相关的属性值
  • 求救:使用菜单项目的ADD方法动态生成菜单后如何编写响应代码??
  • 在运行期自动生成的快捷菜单中,如何定义各个菜单项的单击事件?
  • 如何动态生成菜单而且根据权限动态决定某菜单项是否可用呀?
  • 生成树状菜单问题?
  • 关于菜单项

关键词

  • 结点
  • 页面
  • 函数
  • 数据库
  • 代码
  • 结构
  • 生成
  • 递归
  • 菜单
  • 参数

得分解答快速导航

  • 帖主:hookharsh
  • yihis
  • abigfrog
  • xys
  • ChinaOk
  • anakine
  • hope2002

相关链接

  • Web开发类图书

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo