asp无限级调用分类显示
点击下载示例压缩包:ASPsnakDemo.rar
<%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%>
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>asp无限级调用分类</title>
<style>
.class1{color:#FD0509; font-size:16px;}
.class2{color:#3B02FB; font-size:14px;}
.class3{color:#54FB05; font-size:14px;}
</style>
</head>
<body>
<%
dim startime,cn,connstr,db
startime=timer()
db="db.mdb" '数据库
'on error resume next '尝试连数据库,一直到超时,但可以加强SQL注入过滤
connstr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath(db)
'connstr="DBQ="+server.mappath(""&db&"")+";DefaultDir=;DRIVER={Microsoft Access Driver (*.mdb)};"
set cn=server.createobject("ADODB.CONNECTION")
cn.open connstr
levelCount=1
sql="select * from Menu where ParentId='0' and Status=1 order by OrderNum ASC"
set rs=server.CreateObject("adodb.recordset")
rs.open sql,cn,1,1
do while not rs.eof
%>
<div><a href="<%=rs("url")%>" class="class1"><%=rs("title")%></a></div>
<%
call getChildMenu(rs("MenuId")," ",levelCount+1)
rs.movenext
loop
rs.close
set rs=nothing
function getChildMenu(ParentId,LevelString,levelCount)
sql="select * from Menu where ParentId='"&ParentId&"' and Status=1 order by OrderNum ASC"
set rs_ChildMenu=server.CreateObject("adodb.recordset")
rs_ChildMenu.open sql,cn,1,1
do while not rs_ChildMenu.eof
classString="class"&levelCount
if levelCount>3 then '当预设样式不足的情况下,设置超出级别的样式
classString="class3"
end if
%>
<div><%=LevelString%>|_ <a href="<%=rs_ChildMenu("url")%>" class="<%=classString%>"><%=rs_ChildMenu("title")%></a></div>
<%
call getChildMenu(rs_ChildMenu("MenuId"),LevelString&" ",levelCount+1)
rs_ChildMenu.movenext
loop
rs_ChildMenu.close
set rs_ChildMenu=nothing
end function
%>
<br>
//=============================<br>
Menu表中<br>
MenuId 为菜单编号,必须唯一。建此此菜单使用类似本DEMO中所使用具有一定规则的编号,方便将来的权限管理使用<br>
ParentId 为当前菜单的父菜单编号,当此字段值为0则该菜单为一级菜单<br><br>
本例递归函数加入levelCount参数来确定当前递归的层数,可使用此参数判断当前第几级,并且可控制当前级别调用的样式表<br>
</body>
</html>
<%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%>
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>asp无限级调用分类</title>
<style>
.class1{color:#FD0509; font-size:16px;}
.class2{color:#3B02FB; font-size:14px;}
.class3{color:#54FB05; font-size:14px;}
</style>
</head>
<body>
<%
dim startime,cn,connstr,db
startime=timer()
db="db.mdb" '数据库
'on error resume next '尝试连数据库,一直到超时,但可以加强SQL注入过滤
connstr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath(db)
'connstr="DBQ="+server.mappath(""&db&"")+";DefaultDir=;DRIVER={Microsoft Access Driver (*.mdb)};"
set cn=server.createobject("ADODB.CONNECTION")
cn.open connstr
levelCount=1
sql="select * from Menu where ParentId='0' and Status=1 order by OrderNum ASC"
set rs=server.CreateObject("adodb.recordset")
rs.open sql,cn,1,1
do while not rs.eof
%>
<div><a href="<%=rs("url")%>" class="class1"><%=rs("title")%></a></div>
<%
call getChildMenu(rs("MenuId")," ",levelCount+1)
rs.movenext
loop
rs.close
set rs=nothing
function getChildMenu(ParentId,LevelString,levelCount)
sql="select * from Menu where ParentId='"&ParentId&"' and Status=1 order by OrderNum ASC"
set rs_ChildMenu=server.CreateObject("adodb.recordset")
rs_ChildMenu.open sql,cn,1,1
do while not rs_ChildMenu.eof
classString="class"&levelCount
if levelCount>3 then '当预设样式不足的情况下,设置超出级别的样式
classString="class3"
end if
%>
<div><%=LevelString%>|_ <a href="<%=rs_ChildMenu("url")%>" class="<%=classString%>"><%=rs_ChildMenu("title")%></a></div>
<%
call getChildMenu(rs_ChildMenu("MenuId"),LevelString&" ",levelCount+1)
rs_ChildMenu.movenext
loop
rs_ChildMenu.close
set rs_ChildMenu=nothing
end function
%>
<br>
//=============================<br>
Menu表中<br>
MenuId 为菜单编号,必须唯一。建此此菜单使用类似本DEMO中所使用具有一定规则的编号,方便将来的权限管理使用<br>
ParentId 为当前菜单的父菜单编号,当此字段值为0则该菜单为一级菜单<br><br>
本例递归函数加入levelCount参数来确定当前递归的层数,可使用此参数判断当前第几级,并且可控制当前级别调用的样式表<br>
</body>
</html>
前一页:微软Encoder加密解密函数
- 相关阅读
- asp显示随机密码
- CSS设计网页头部的优化写法
- 非常酷的javascript实现万年历功能
- 背景调色板:状态栏还能显示颜色值
- 用户注册时的密码强度提示
- asp获得系统Unix时间戳与将Unix时间戳转为正常日期
- 一个相当帅的日历时间面板
- uni.openLocation打开地图导航没反应解决方式(参数都设置对就是打不开)
- 共有0条关于《asp无限级调用分类显示》的评论
- 发表评论
正在加载评论......
返回顶部发表评论
网友评论声明,请自觉遵守互联网相关政策法规。
您发布的评论即表示同意遵守以下条款:
一、不得利用本站危害国家安全、泄露国家秘密,不得侵犯国家、社会、集体和公民的合法权益;
二、不得发布国家法律、法规明令禁止的内容;互相尊重,对自己在本站的言论和行为负责;
三、本站对您所发布内容拥有处置权。
- 更多>>同类信息
- ASP中Utf-8与Gb2312编码转换乱码问题的解决方法页面编码声明
- asp显示随机密码
- 通过阿里云服务接口获得ip地址详细信息
- iis点开后任务栏上有显示,但是窗口看不到的解决办法
- RSA加密解密插件
- 微软Encoder加密解密函数
- 更多>>最新添加文章
- dw里面查找替换使用正则删除sqlserver里面的CONSTRAINT
- Android移动端自动化测试:使用UIAutomatorViewer与Selenium定位元素
- 抖音直播音挂载小雪花 懂车帝小程序
- javascript获取浏览器指纹可以用来做投票
- 火狐Mozilla Firefox出现:无法载入您的Firefox配置文件 它可能已经丢失 或是无法访问 问题解决集合处理办法
- 在Android、iOS、Windows、MacOS中微信小程序的文件存放路径
- python通过代码修改pip下载源让下载库飞起
- python里面requests.post返回的res.text还有其它的吗