在Repeater 中使用Repeater的方法
前台代码:
<asp:Repeater ID="Repeater1" runat="server" OnItemDataBound="Repeater1_ItemDataBound">
<ItemTemplate>
<div class="nav_title">
<%#Eval("class") %></div>
<ul class="nav">
<asp:Repeater ID="Repeater2" runat="server">
<ItemTemplate>
<li><a class="<%#Convert.ToInt32(Eval("id"))==sortId?"select":"" %>" href="line.aspx?sort_id=<%#Eval("id") %>"><%#Eval("sort") %></a></li>
</ItemTemplate>
</asp:Repeater>
</ul>
</ItemTemplate>
</asp:Repeater>
后台代码(Repeater就不写了,直接第二个):
protected void Repeater1_ItemDataBound(object sender, RepeaterItemEventArgs e) {
if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem) {
Repeater rptProduct = (Repeater)e.Item.FindControl("Repeater2");
//找到分类Repeater关联的数据项
DataRowView rowv = (DataRowView)e.Item.DataItem;
//提取分类ID
string classKey = rowv["class"].ToString();
//根据分类ID查询该分类下的产品,并绑定产品Repeater
DataSet st = AccessHelper.ExecuteDataSet("select distinct [sort],[id] from [line_sort] where [class]=@class",AccessHelper.Parameter("@class",classKey));
rptProduct.DataSource = st.Tables[0];
rptProduct.DataBind();
}
}