<asp:DataList ID="dataFid" runat="server" Width="100%" OnItemDataBound="dataFid_ItemDataBound">
<ItemTemplate>
<div id="menuCaption" οnmοuseοver="popMenu('<%# Eval("FatherID") %>');" οnmοuseοut="popMenu('<%# Eval("FatherID") %>');">
<%# Eval("ProductTypeName")%>
<!-- 当鼠标悬停在这里时显示下面列表的内容 -->
<ul id='<%# Eval("FatherID") %>' style="display: none;">
<!-- 这里是鼠标悬停时显示的内容 -->
<asp:DataList ID="dataSid" runat="server" Width="100%">
<ItemTemplate>
<li class="ProList"><a href="/Product.aspx?ProductTypeID=<%# Eval("ID") %>">
<%# Eval("ProductTypeName")%>
</a></li>
</ItemTemplate>
</asp:DataList>
</ul>
</div>
</ItemTemplate>
</asp:DataList>
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
databind();
}
}
protected void databind()
{
Maticsoft.BLL.ProductTypeInfo productType = new Maticsoft.BLL.ProductTypeInfo();
this.dataFid.DataSource = productType.GetList(" SunID=0 ");
this.dataFid.DataKeyField = "FatherID";
this.dataFid.DataBind();
}
protected void dataFid_ItemDataBound(object sender, DataListItemEventArgs e)
{
if (e.Item.ItemType == ListItemType.AlternatingItem || e.Item.ItemType == ListItemType.Item)
{
int fatherid = int.Parse(this.dataFid.DataKeys[e.Item.ItemIndex].ToString());
DataList dlt = e.Item.FindControl("dataSid") as DataList;
Maticsoft.BLL.ProductTypeInfo bll = new Maticsoft.BLL.ProductTypeInfo();
string sql = " FatherID = " + fatherid + " and SunID<> 0 ";
dlt.DataSource = bll.GetList(sql);
dlt.DataBind();
}
}
三层代码 datalist嵌套
最新推荐文章于 2022-04-12 23:56:38 发布