Repeater控件的嵌套操作:如果想在第一个Repeater控件中获取第二个Repeater控件中的按钮控件,标签控件等等就可以利用下面的方式:
前台代码
<asp:Repeater ID="rptComments" runat="server" onitemcommand="rptComments_ItemCommand"
onitemdatabound="rptComments_ItemDataBound">
<ItemTemplate>
<asp:Label ID="lbID" runat="server" Text='<%# Eval("messageid")%>' Visible="false"></asp:Label>
<div >
<dl>
<dt style="color:Red">发送人:</dt>
<dd><%# Eval("operator")%> </dd>
</dl>
<dl>
<dt style="color:Red">发送时间:</dt>
<dd><%# Eval("addtime")%> </dd>
</dl>
<dl>
<dt style="color:Red">发送标题:</dt>
<dd><%# Eval("messagetitle")%> </dd>
</dl>
<dl>
<dt style="color:Red" >发送内容:</dt>
<dd class="txt"><%# Eval("message")%> </dd>
</dl>
<div>
<asp:Button ID="btnReply" runat="server" Text="回复(0)" CommandArgument='<%# Eval("messageid")%>'
CommandName="Reply"/>
</div>
</div>
<asp:Repeater ID="Repeater1" runat="server">
<ItemTemplate>
<div style="padding:5px 10px;background:url(../images/w_dot_3.gif) repeat-x 0 top;"> <em
style="display:block;width:50px;height:36px;font-size:25px;font-style:italic;color:#ccc;font-family:arial;"><%
#Container.ItemIndex + 1 %><font style="font-size:12px;font-style:normal;">楼</font></em>
<ul>
<li> <span> <span style="color: #088000;"><%# Eval("addtime")%></span> <a href="#"
class="link_1" target="_blank"><%# Eval("customer")%></a> 回复说: </li>
<li ><%# Eval("message")%></li>
</ul>
</div>
</ItemTemplate>
</asp:Repeater>
<div class="align_Center">
<asp:LinkButton ID="lkbtncount" runat="server" CommandArgument='<%# Eval("messageid")%>' CommandName="Reply"
></asp:LinkButton></div>
</ItemTemplate>
后台代码:
protected void rptComments_ItemDataBound(object sender, RepeaterItemEventArgs e)
{
if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
{
Repeater rpt = (Repeater)e.Item.FindControl("Repeater1"); //获取第二个Repeater
Label lbID = (Label)e.Item.FindControl("lbID"); //获取标签
Button btnReply = (Button)e.Item.FindControl("btnReply"); //获取按钮
LinkButton lkbtncount = (LinkButton)e.Item.FindControl("lkbtncount");//总行数
Poucan.BLL.AdminMessage bll = new Poucan.BLL.AdminMessage();
DataSet ds = new DataSet();
ds = bll.getReply(int.Parse(lbID.Text.Trim())); //调用方法
rpt.DataSource = ds;
rpt.DataBind();
lkbtncount.Text = "查看全部" + rpt.Items.Count.ToString() + "条回复";
btnReply.Text = "回复(" + rpt.Items.Count.ToString() + ")";
}
}