protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
this.dtCategory = GetCategoryTable();
this.dtProduct = GetProductTable();
rptCategoryList.DataSource = dtCategory;
rptCategoryList.DataBind();
}
}
// 准备一张分类表
DataTable GetCategoryTable()
{
DataTable dt = new DataTable();
dt.Columns.Add(\"CategoryId\", typeof(int));
dt.Columns.Add(\"CategoryTitle\", typeof(string));
for (int i = 1; i <= 3; i++)
{
DataRow row = dt.NewRow();
row[\"CategoryId\"] = i;
row[\"CategoryTitle\"] = \"分类名字 \" + i + \"\";
dt.Rows.Add(row);
}
return dt;
}
// 准备一张产品表
DataTable GetProductTable()
{
DataTable dt = new DataTable();
dt.Columns.Add(\"ProductTitle\", typeof(string));
dt.Columns.Add(\"CategoryId\", typeof(int));
for (int i = 1; i <= 9; i++)
{
DataRow row = dt.NewRow();
row[\"ProductTitle\"] = \"产品名字 \" + i + \"\";
if (i > 6) row[\"CategoryId\"] = 3;
else if (i > 3) row[\"CategoryId\"] = 2;
else row[\"CategoryId\"] = 1;
dt.Rows.Add(row);
}
return dt;
}
// 获取某个类别的产品
DataTable GetProductTable(int categoryId)
{
DataView dv = this.dtProduct.DefaultView;
dv.RowFilter = \" CategoryId=\" + categoryId + \" \";
return dv.ToTable();
}
protected void rptCategoryList_ItemDataBound(object sender, RepeaterItemEventArgs e)
{
if (e.Item.ItemType == ListItemType.AlternatingItem || e.Item.ItemType == ListItemType.Item)
{
DataRowView drv = (DataRowView)e.Item.DataItem;
Literal ltlTitle = (Literal)e.Item.FindControl(\"ltlTitle\");
ltlTitle.Text = drv[\"CategoryTitle\"].ToString();
Repeater rptProductList = (Repeater)e.Item.FindControl(\"rptProductList\");
rptProductList.DataSource = GetProductTable(Convert.ToInt32(drv[\"CategoryId\"]));
rptProductList.DataBind();
}
}
protected void rptProductList_ItemDataBound(object sender, RepeaterItemEventArgs e)
{
if (e.Item.ItemType == ListItemType.AlternatingItem || e.Item.ItemType == ListItemType.Item)
{
DataRowView drv = (DataRowView)e.Item.DataItem;
Literal ltlTitle = (Literal)e.Item.FindControl(\"ltlTitle\");
ltlTitle.Text = drv[\"ProductTitle\"].ToString();
}
}
前台aspx代码
<</CODE>form id=\"form1\" runat=\"server\">
<</CODE>div>
<</CODE>asp:Repeater ID=\"rptCategoryList\" runat=\"server\" OnItemDataBound=\"rptCategoryList_ItemDataBound\">
<</CODE>ItemTemplate>
<</CODE>div class=\"listBox\">
<</CODE>div class=\"title\">
<</CODE>asp:Literal ID=\"ltlTitle\" runat=\"server\"></</CODE>asp:Literal></</CODE>div>
<</CODE>div class=\"content\">
<</CODE>ul>
<</CODE>asp:Repeater ID=\"rptProductList\" runat=\"server\" OnItemDataBound=\"rptProductList_ItemDataBound\">
<</CODE>ItemTemplate>
<</CODE>li>
<</CODE>asp:Literal ID=\"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>
本文地址:https://www.stayed.cn/item/20850
转载请注明出处。
本站部分内容来源于网络,如侵犯到您的权益,请 联系我