Repeater嵌套使用及按钮事件处理

前台页面部分:

<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();
}
}

<asp:Repeater runat="server" ID="Repeater1">
<ItemTemplate>
<tr>
<td align="center">
<%# DataBinder.Eval(Container.DataItem, "Ftitle")%>
</td>

<td align="center">
<asp:LinkButton runat="server" ID="btnUpdate" Text="修改" CommandName='<%# DataBinder.Eval(Container.DataItem, "Fid")%>'
OnCommand="btnUpdate_Click" />
<asp:LinkButton runat="server" ID="btnDelete" Text="删除" CommandName='<%# DataBinder.Eval(Container.DataItem, "Fid")%>'
OnCommand="btnDelete_Click" OnClientClick="return confirm('确认删除吗?');" />
</tr>
</ItemTemplate>
<SeparatorTemplate>
<%--这是分隔线模板--%>
<tr>
<td colspan="4">
<hr style="border-top: 1pt;" />
</td>
</tr>
</SeparatorTemplate>
<FooterTemplate>
</FooterTemplate>
</asp:Repeater>

//修改
protected void btnUpdate_Click(object sender, CommandEventArgs e)
{
int id = Convert.ToInt32(e.CommandName);
CWebCtl.alert(Page, id.ToString());
}
//删除
protected void btnDelete_Click(object sender, CommandEventArgs e)
{
int Id = Convert.ToInt32(e.CommandName);

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值