全部博文(41)
分类:
2009-12-01 16:09:38
方法一:
前台页面部分:
<asp:Repeater id="rptCategories" runat="server">
<HeaderTemplate>
<table width="100%" border="0" cellspacing="0" cellpadding="0">
HeaderTemplate>
<ItemTemplate>
<tr><th><%# DataBinder.Eval(Container.DataItem, "TypeName") %>th>tr>
<asp:Repeater id="rptProduct" runat="server">
<ItemTemplate>
<tr><td><a href='ProductInfo.aspx?Id=<%# DataBinder.Eval(Container.DataItem, "ID") %>'><%# DataBinder.Eval(Container.DataItem, "ProductName") %>a>td>tr>
ItemTemplate>
asp:Repeater>
ItemTemplate>
<FooterTemplate>
table>
FooterTemplate>
asp:Repeater>
后台代码部分(部分代码):
//在绑定分类品名时,绑定分类下的产品
private void rptCategories_ItemDataBound(object sender, System.Web.UI.WebControls.RepeaterItemEventArgs e)
{
BLL.Products products =new BLL.Products();
if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
{
Repeater rptProduct = (Repeater) e.Item.FindControl("rptProduct");
//找到分类Repeater关联的数据项
DataRowView rowv = (DataRowView)e.Item.DataItem;
//提取分类ID
int CategorieId = Convert.ToInt32(rowv["ID"]);
//根据分类ID查询该分类下的产品,并绑定产品Repeater
rptProduct.DataSource = products.GetProductsByCategorieId(CategorieId);
rptProduct.DataBind();
}
方法二:
onitemdatabound="Repeater1_ItemDataBound" >
for (int i = 0; i < Repeater1.Items.Count; i++)
{
Repeater rp = (Repeater)Repeater1.Items[i].FindControl("Repeater2");
// DataRowView rowv = (DataRowView)e.Item.DataItem;
// int colorid = Convert.ToInt32(rowv["id"]);
rp.DataSource = igm.GetAngles();
rp.DataBind();
}