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>
-完-
实现的效果如下:
博客地址:http://www.cnblogs.com/colinliu/
博客版权:本文以学习、记录、分享为目的。欢迎大家转载,但务必注明原文地址,谢谢合作!
博客版权:本文以学习、记录、分享为目的。欢迎大家转载,但务必注明原文地址,谢谢合作!