ASP页面-自动取回数据库中的值生成导航。
以下为自己总结的一点经验,简单的介绍一下方法,如发现有误,请帮忙指正,谢谢。
一,首先定义调用据库。
<%
dim objconn,objconnstr
set objconn=server.createobject("adodb.connection")
objconnstr="provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("../demo/database.mdb")
objconn.open objconnstr
%>
也可以直接写在一个页面中,然后进行调用 ,调用方法:<!--#include file="conn.asp"-->
二,定义样式表并调用。
调用方法:
<link href="css/main.css" rel="stylesheet" type="text/css" />
三,Body页面区域添加导航。
/*定义对应字段,取回浏览器中的值,方便套用css样式表,即当前打开的项目菜单会高亮显示*/
<%dim protypeid,ModelID
protypeid=request.QueryString("protypeid")
if protypeid="" or isnumeric(protypeid)=false then
protypeid=0
end if
ModelID=request.QueryString("ModelID")
if ModelID="" or isnumeric(ModelID)=false then
ModelID=0
end if
%>
导航内容:
/*定义菜单DIV,控制位置*/
????????? <div id="content_left">
??????????? <ul id="subnavi">
/*定义并调用产品类型数据库*/
????????????? <%dim rsm,sqlm
????????????? set rsm=server.CreateObject("adodb.recordset")
????????????? sqlm="select * from robottype where isdel<>true order by sort desc,protypeid"
????????????? rsm.open sqlm,objconn,0,1
????????????? if not rsm.eof then
????????????? do while not rsm.eof
/*判断protypeid对应的值是否与现在浏览器打开的相同,如果相同则套用样式subnavi_akt_2(只是为了高亮显示当前打开的导航项,不需要可以去掉该判断)*/
????????????? style1="subnavi_akt"
????????????? if cstr(rsp("protypeid"))=cstr(protypeid) then
????????????? style2="subnavi_akt_2"
????????????? end if
????????????? %>
/*展示产品类别菜单*/
????????????? <li class="<%=style1%>"><a href="proseries.asp?Mainid=<%=rsm("MainID")%>&protypeid=<%=rsm("protypeid")%>" title="<%=rsm("protypename")%>"><%=rsm("protypename")%></a>
/*展示产品类别菜单*/
??????????????? <ul>
/*定义并调用产品型号数据库*/
???????????????? <%dim rsp,sqlp
???????????????? set rsp=server.CreateObject("adodb.recordset")
???????????????? sqlp="select * from robot_model where protypeid="&promain&" and isdel<>true order by sort desc,ModelId"
???????????????? rsp.open sqlp,objconn,0,1
???????????????? if not rsp.eof then
???????????????? do while not rsp.eof
/*判断ModelID(高亮显示当前打开的导航项,不需要可以去掉该判断)*/
???????????????? style2="subnavi_normal_2"
???????????????? if cstr(rsp("ModelID"))=cstr(ModelID) then
???????????????? style2="subnavi_akt_2"????????
???????????????? end if
???????????????? %>
/*展示产品菜单导航*/
???????????????? <li class="<%=style2%>"><a href="promodel.asp?protypeid=<%=rsm("protypeid")%>&ModelID=<%=rsp("ModelId")%>" title="<%=rsp("ModelName")%>"><%=rsp("ModelName")%></a>
/*展示产品菜单导航*/
/*进行产品型号的循环,即自动列出对应品牌下的产品型号*/
???????????????? <%rsp.movenext
???????????????? loop
???????????????? rsp.close()
???????????????? set rsp=nothing
???????????????? end if%>
/*产品型号循环结束*/
?????????????? </ul>
????????????? </li>
/*进行产品类别的循环,即自动列出对应品牌下的产品型号*/
????????????? <%rsm.movenext
????????????? loop
????????????? rsm.close()
????????????? set rsm=nothing
????????????? end if
????????????? %>
/*产品类别循环结束*/
??????????? </ul>
????????? </div>
-完-
实现的效果如下:
转载请注明原文地址及作者,谢谢合作。
版权声明:
作者:Colin
链接:https://www.feidd.com/asp-automenu.html
文章版权归作者所有,未经允许请勿转载。
THE END
