闲话少叙,ASP.NET环境,现有一类别表:类别ID+类别名称+父类别ID,无限级别嵌套。
数据举例:
001 诗人 000
002 中国诗人 001
003 燕赵诗人 002
004 江南诗人 002
另有一内容表:ID+所属类别ID+值
数据举例:
001 003 荆轲
002 003 张飞
003 003 刘备
004 004 刘基
005 004 王老吉
要求如下:指定一个类别然后得到该类别下面的所有的成员,关键是这里,如果指定的类别下面还有子类别那么该子类别下面的成员也要查询出来。比如指定燕赵诗人(003),那么应该返回荆轲、张飞、刘备,如果指定中国诗人(002),那么上面的都应该返回。
我的思路如下,写一个递归方法,传递一个类别ID进去,将其记录到一个ViewState或者是HiddenField中,查询它的子类别,调用递归方法本身,将它的子类别ID传进去,这样到最后该类别及它下面所有的子类别以及子类别的子类别都将被记录,最后在SQL语句中用in关键字,形如:select * from 内容表 where 所属类别ID in (被记录的类别及其子类别以及),问题来啦,那如果类别非常多呢,比如上百个,那这样做会不会效率太低呢?可是还有什么其它解决之道吗?
解决方案 »
- 万分着急啊!!!在线等待中……Reapter的用法!!!!!
- 请问从节省资源,提升效率上来讲,这2段代码哪段好点?还是都一样?
- 播放视频。。只有声音没有图像
- 求一SQL语句,请高手多多帮忙.....................................
- 请问如何CSDN技术论坛这样左右分栏的界面怎么做的?
- ExecuteNonQuery 怎么不行了
- 我的浏览器端为什么没法写cookie?
- 在asp.net(c#)首页右下面做个弹出视频窗口,如何做啊?
- 请问:关于下载文件在客户端自动解压缩的问题
- 自定义控件的问题
- 【XML+XSLT】还是【模板生成HTML页面】,哪个更符合搜索引擎的口味?
- ie6 点击链接 不能形成下载,我用ie7就可以,firefox 也可以。
为什么你要一次把下面所有的ID全部显示出来呢?
我觉得有个思路可行,就跟操作系统的文件系统一样,当你打开一个文件夹时候,就显示该文件夹里的所有文件和文件夹,而对于文件夹里面的子文件夹里的东西则不显示出来.相当于一个树型结构似的.根据这个原理,我提供一个解决的方案给你:比如你可以用一个GridView控件,初始化的时候只显示中国诗人,然后你给中国诗人做个链接,点了这个链接之后又重新绑定GridView控件,进入中国诗人的下级目录:燕赵诗人,江南诗人.然后你点江南诗人,燕赵诗人就同理了,分别进入自己的子目录.这样就很好实现了.我以前做过一个文件管理系统,原理跟你的差不多,也是一个文件有它的父文件ID,就是通过实现文档树型结构实现的.你可以参考下这个思路,如果不理解,我们可以共同探讨下,我也是个新手,大家共同进步