请问大家:
例如:在SQL Server里有一个表,表里面有多条记录,其中一个字段是菜单,别外一个字段是菜单相对应的链接地址,现在我想
把菜单横向显示出来,当鼠标点击菜单后,跳在相应的链接地址,如何实现。
--------------------------------------------------------------------------------
我想要的效果,大概是如下这样:
新聞 | 通知公告 | 管理簡報 | 規章制度 | 辦事指南 | 大事記 | 員工天地 | 企業文化 | ...
link1 link2 link3 link4 link5 link6 link7 link8 ...
用SqlDataReader将数据读出来,然后遍历一下。
然后这样显示
<a href=like1>新闻</a> | …
这样不就行了么?
读出来,<a href=link1>新闻</a> |
显示就可以了
--建立测试环境
Create Table 表(标题 varchar(10),地址 varchar(10))
--插入数据
insert into 表
select 新聞,link1 union
select 通知公告,link2 union
select 管理簡報,link3 union
select 規章制度,link4 union
select 辦事指南,link5 union
select 大事記,link6 union
select 員工天地,link7 union
select 企業文化,link8
--动态查询
DECLARE @SQL VARCHAR(8000)
SET @SQL=SELECT
SELECT @SQL=@SQL+ max(CASE WHEN 标题 = + 标题 + THEN 地址 END) [ + 标题 + ],
FROM (SELECT DISTINCT top 100 percent 标题,地址 FROM 表 order by 地址) A
SET @SQL=left(@SQL,len(@SQL)-1)+ FROM 表
exec (@SQL)
--删除测试环境
Drop Table 表
/*--测试结果
新聞 通知公告 管理簡報 規章制度 辦事指南 大事記 員工天地 企業文化
---------- ---------- ---------- ---------- ---------- ---------- ---------- ----------
link1 link2 link3 link4 link5 link6 link7 link8
--*/
--asp执行类似的sql语句
DECLARE @SQL VARCHAR(8000)
SET @SQL=SELECT
SELECT @SQL=@SQL+ max(CASE WHEN 标题 = + 标题 + THEN 地址 END) [ + 标题 + ],
FROM (SELECT DISTINCT top 100 percent 标题,地址 FROM 表 order by 地址) A
SET @SQL=left(@SQL,len(@SQL)-1)+ FROM 表
exec (@SQL)
你想用什么绑定?DataGrid吗?
用<ItemTemplate>绑定
这样显示
<a href=<%#DataBinder.Eval(Container.DataItem,"超链接字段")%>><%#DataBinder.Eval(Container.DataItem,"显示字段")%></a>
或者用DataList,用法类似
<%dim sql0,rs0
sql0="select * from [so]"
set rs0=conn.execute(sql0)
%>
<div align="center">
<%
do while not rs0.eof
%>
<a href=<%=rs0("菜单相应连接字段名")%>><%=rs0("菜单字段名")%></a> |
<%
rs0.movenext
loop
%>
</div>
//* 给分