zl程序教程

您现在的位置是:首页 >  其它

当前栏目

Repeater中嵌套Repeater的示例介绍

介绍 示例 嵌套 Repeater
2023-06-13 09:15:15 时间
复制代码代码如下:

protectedvoidPage_Load(objectsender,EventArgse)
{
if(!Page.IsPostBack)
{
this.dtCategory=GetCategoryTable();
this.dtProduct=GetProductTable();
rptCategoryList.DataSource=dtCategory;
rptCategoryList.DataBind();
}
}
//准备一张分类表
DataTableGetCategoryTable()
{
DataTabledt=newDataTable();
dt.Columns.Add("CategoryId",typeof(int));
dt.Columns.Add("CategoryTitle",typeof(string));
for(inti=1;i<=3;i++)
{
DataRowrow=dt.NewRow();
row["CategoryId"]=i;
row["CategoryTitle"]="分类名字"+i+"";
dt.Rows.Add(row);
}
returndt;
}
//准备一张产品表
DataTableGetProductTable()
{
DataTabledt=newDataTable();
dt.Columns.Add("ProductTitle",typeof(string));
dt.Columns.Add("CategoryId",typeof(int));
for(inti=1;i<=9;i++)
{
DataRowrow=dt.NewRow();
row["ProductTitle"]="产品名字"+i+"";
if(i>6)row["CategoryId"]=3;
elseif(i>3)row["CategoryId"]=2;
elserow["CategoryId"]=1;
dt.Rows.Add(row);
}
returndt;
}
//获取某个类别的产品
DataTableGetProductTable(intcategoryId)
{
DataViewdv=this.dtProduct.DefaultView;
dv.RowFilter="CategoryId="+categoryId+"";
returndv.ToTable();
}
protectedvoidrptCategoryList_ItemDataBound(objectsender,RepeaterItemEventArgse)
{
if(e.Item.ItemType==ListItemType.AlternatingItem||e.Item.ItemType==ListItemType.Item)
{
DataRowViewdrv=(DataRowView)e.Item.DataItem;
LiteralltlTitle=(Literal)e.Item.FindControl("ltlTitle");
ltlTitle.Text=drv["CategoryTitle"].ToString();
RepeaterrptProductList=(Repeater)e.Item.FindControl("rptProductList");
rptProductList.DataSource=GetProductTable(Convert.ToInt32(drv["CategoryId"]));
rptProductList.DataBind();
}
}
protectedvoidrptProductList_ItemDataBound(objectsender,RepeaterItemEventArgse)
{
if(e.Item.ItemType==ListItemType.AlternatingItem||e.Item.ItemType==ListItemType.Item)
{
DataRowViewdrv=(DataRowView)e.Item.DataItem;
LiteralltlTitle=(Literal)e.Item.FindControl("ltlTitle");
ltlTitle.Text=drv["ProductTitle"].ToString();
}
}

前台aspx代码
复制代码代码如下:

<</CODE>formid="form1"runat="server">
<</CODE>div>
<</CODE>asp:RepeaterID="rptCategoryList"runat="server"OnItemDataBound="rptCategoryList_ItemDataBound">
<</CODE>ItemTemplate>
<</CODE>divclass="listBox">
<</CODE>divclass="title">
<</CODE>asp:LiteralID="ltlTitle"runat="server"></</CODE>asp:Literal></</CODE>div>
<</CODE>divclass="content">
<</CODE>ul>
<</CODE>asp:RepeaterID="rptProductList"runat="server"OnItemDataBound="rptProductList_ItemDataBound">
<</CODE>ItemTemplate>
<</CODE>li>
<</CODE>asp:LiteralID="ltlTitle"runat="server"></</CODE>asp:Literal>
</</CODE>li>
</</CODE>ItemTemplate>
</</CODE>asp:Repeater>
</</CODE>ul>
</</CODE>div>
</</CODE>div>
</</CODE>ItemTemplate>
</</CODE>asp:Repeat</</CODE>div>
</</CODE>form>