Repeater两级嵌套

嵌套前台格式代码:

<asp:Repeater ID="parentRepeater" runat="server" OnItemCommand="parentRepeater_ItemCommand"
OnItemDataBound="parentRepeater_ItemDataBound">
<ItemTemplate>
<%#Eval("name") %>
<div id="news" class="commonfrm">
<asp:Repeater ID="chirldRepeater" runat="server">
<HeaderTemplate>
<table width="100%"; cellspacing="0">
<tr class="tr_header">
<th> 新闻标题 </th>
</tr>
</HeaderTemplate>
<ItemTemplate>
<tr class="tr_item">
<td class="td_header">
<a href='showArticle.aspx?newsid=<%# Eval("id")%>' target="_blank"><%#Eval("title") %> </a>
</td>
</tr>
</ItemTemplate>
<FooterTemplate>
</table>
</FooterTemplate>
</asp:Repeater>
</div>
</ItemTemplate>
</asp:Repeater>

后台对chirldRepeater的绑定利用了parentRepeater中的 OnItemDataBound事件:

protected void parentRepeater_ItemDataBound(object sender, System.Web.UI.WebControls.RepeaterItemEventArgs e)
{
if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
{
//寻找chirldrepeater
Repeater chirldRepeater = (Repeater)e.Item.FindControl("chirldRepeater");

//找出parentRepeater绑定的id
DataRowView rowv = (DataRowView)e.Item.DataItem;
string CatagoryId = rowv["id"].ToString();

//绑定chirldRepeater
chirldRepeater.DataSource = new NewsDAO().SeleteByCaid(CatagoryId);
chirldRepeater.DataBind();
}

}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值