最近想要在C#下做一个下拉菜单,找了好久也没有找到一个简单的实现方法,自己想了一个;介绍一下:首先在aspx文件中加入如下代码:
<script>
function openMenu(cur)//显示菜单
{
eval("menu"+cur+".style.visibility='visible'")
//alert(menu1)
}
function closeMenu(cur)//隐藏菜单
{
eval("menu"+cur+".style.visibility='hidden'")
}
</script>
<td class="lcolhead" onmouseover='openMenu("1")' style="PADDING-RIGHT: 8px; PADDING-LEFT: 8px"
onmouseout='closeMenu("1")'>
//添加一个列
<A onmouseover='openMenu("1")' onmouseout='closeMenu("1")' href="#">
大生产作品</A>
//定义一个单独的层
<div class="unnamed1" id="Layer1" style="Z-INDEX: 1; LEFT: 0px; WIDTH: 0px; POSITION: relative; TOP: -2px; HEIGHT: 0px">
//定义一个菜单
<div id="menu1" onmouseover='openMenu("1")' style="Z-INDEX: 2; LEFT: 0px; VISIBILITY: hidden; POSITION: absolute; TOP: 0px" onmouseout='closeMenu("1")'>
//添加一个表,容纳菜单
<table id=Table1 cellSpacing=1 cellPadding=1 width=120 border=0 align =center>
<tr>
<td align=center>
//加入DataGrid控件,并添加一列做菜单,将数据库中数据读出与此列邦定写形成菜单
<asp:DataGrid id=DataGrid1 runat="server" AutoGenerateColumns="False" ShowHeader="False" BorderWidth="0px">
<ItemStyle BorderColor="Transparent">
</ItemStyle>
//加入链接列
<Columns>
<asp:HyperLinkColumn DataNavigateUrlField="ID" DataNavigateUrlFormatString="http://localhost/Taile/Creativity/WebForm1.aspx?id={0}"
//显示数据库中的Name字段
DataTextField="Name">
<HeaderStyle Width="120px">
</HeaderStyle>
<ItemStyle Font-Italic="True">
</ItemStyle>
</asp:HyperLinkColumn>
</Columns>
</asp:DataGrid>
</td>
</tr>
</table>
</div>
</div>
</td class=lcolhead>
以上是aspx文件中要添加的代码
然后在aspx.cs文件中将数据读出邦定到datagrid1上即可用数据库中的Name字段来形成下菜单
如:
protected System.Web.UI.WebControls.DataGrid DataGrid1;
private void Page_Load(object sender, System.EventArgs e)
{
// Put user code to initialize the page here
DataView UserProductDataView=new DataView();
//获得数据库视图
UserProductDataView=(new UserProductBF()).GetUserProductType();
DataGrid1.DataSource=UserProductDataView;
DataGrid1.DataBind();
}
运行即可,
哈哈,比较简单,我目前是这样做的,不知道这样生成菜单好不好,其出来供大家参考,还望大家不要见笑才好。