两个Repeater嵌套,内层Repeater分页问题,求大神
用Repeater做了个留言板,现在已经实现动态加载留言,新需求是,在留言板的每一条留言下显示对该条留言的回复,
(如同百度贴吧对某一楼的回复),
内层的回复又用了一个Repeater,
现在能实现对里层Repeater2的绑定,写在Repeater1的ItemDataBound事件里,
但是Repeater2的数据不能分页 ,根本找不到AspNetPager控件,
也没有PageChanging事件,手动添加在后台也不可能找到其Id,
另外,我Repeater2里有文本框,要实现对某一楼留言的回复,
那回复之后要怎么再次绑定Repeater2?
求大神,高分给 ,
asp.net Repeater嵌套分页 AspNetPager Repeater --------------------编程问答--------------------
这是前台,选中部分是内层Repeater --------------------编程问答--------------------
这是后台对Repeater2的绑定 ,
写在Repeater1 的ItemsDataBound事件里 , --------------------编程问答--------------------
<asp:Repeater ID="repPostInfo" runat="server" OnItemDataBound="repPostInfo_ItemDataBound">--------------------编程问答-------------------- 同问,有大神吗,想顺便学习一下 , --------------------编程问答--------------------
<ItemTemplate>
<div class="repeatlist">
<input id="Label1" type="button" title="<%# DataBinder.Eval(Container.DataItem, "Id")%>"
value="button" />
<asp:Label ID="Label11" runat="server" Text='<%# DataBinder.Eval(Container.DataItem, "Id")%>'></asp:Label>
<div class="listimg">
<img alt="" src="<%# DataBinder.Eval(Container.DataItem, "UserPic")%>" height="90px"
width="110px" />
<div class="uname">
<%# DataBinder.Eval(Container.DataItem, "ReplyUserName")%>
<br />
<%# DataBinder.Eval(Container.DataItem, "Floor")+"楼"%></div>
</div>
<div class="listcont">
<div class="listshow" id="listshow">
<%# DataBinder.Eval(Container.DataItem, "ReplyContent")%>
</div>
<div class="listtime" title="" id="divid">
发表于:<span>
<%# DataBinder.Eval(Container.DataItem, "ReplyTime")%></span></div>
<div id="divUserReplyInfo" runat="server">
<asp:Repeater ID="repUserReplyInfo" runat="server">
<ItemTemplate>
<%# DataBinder.Eval(Container.DataItem, "SenderId")%>:<span>
<%# DataBinder.Eval(Container.DataItem, "ReplyContent")%><br/>
</ItemTemplate>
</asp:Repeater>
<div class="anpager">
<webdiyer:AspNetPager ID="AspNetPager3" runat="server" AlwaysShow="True" CssClass="pages"
CurrentPageButtonClass="cpb" HorizontalAlign="Center">
</webdiyer:AspNetPager>
</div>
</div>
</div>
<asp:Button ID="btnReply" class="btnReply" runat="server" Text="回复" OnClick="btnReply_Click" />
<div class="UserReplyContent" title="<%# DataBinder.Eval(Container.DataItem, "UserReplyTitle")%>"
id="divUserReplyContent">
</div>
</div>
</ItemTemplate>
</asp:Repeater>
protected void repPostInfo_ItemDataBound(object sender, RepeaterItemEventArgs e)--------------------编程问答-------------------- 没人吗,求帮忙啊 , --------------------编程问答-------------------- 用地址栏传参数
{
if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
{
Repeater rep = e.Item.FindControl("repUserReplyInfo") as Repeater;//找到里层的repeater对象
DataRowView rowv = (DataRowView)e.Item.DataItem;//找到分类Repeater关联的数据项
int ReplyId = Convert.ToInt32(rowv["id"]); //获取填充子类的id
HtmlControl id = e.Item.FindControl("AspNetPager3") as HtmlControl;
AspNetPager AspNetPager3 = (AspNetPager)e.Item.FindControl("AspNetPager3");
AspNetPager3.PageSize = 1;
AspNetPager3.RecordCount = ResultCountByrepUserReplyInfo(ReplyId);
if (AspNetPager3.PageSize >= AspNetPager3.RecordCount)
{
AspNetPager3.Visible = false;
}
else
{
AspNetPager3.Visible = true;
}
rep.DataSource = GetUserReply(ReplyId, AspNetPager3.PageSize * (AspNetPager3.CurrentPageIndex - 1), AspNetPager3.PageSize, "UserReply");
rep.DataBind();
}
比如 gbook.aspx?page=1&page2=2&s=1111#1111
page=1是留言的分页,page2是回复的分页,s是将留言ID为1111的回复显示,其他隐藏。
#1111是书签 --------------------编程问答-------------------- 你要做到体验好一点,就用ajax吧 --------------------编程问答--------------------
可不可以说详细点 ? --------------------编程问答-------------------- 这还要多详细呢,
对了,你不能用AspNetPager控件,得自己写分页代码。 --------------------编程问答--------------------
我懂你的意思,要动态判断很多东西 , --------------------编程问答-------------------- 有木有人 , --------------------编程问答-------------------- 加油,楼主~ --------------------编程问答-------------------- 好像我现在也是这样问题,楼猪弄好没有,那个数据是绑定在itemdatabound里面的 --------------------编程问答-------------------- 楼组问题解决了吗,碰到同样的问题,求分享! --------------------编程问答-------------------- 当时做过一个项目 嵌套了3层的repeater 也用到了分页。 主要的就是一个findID的什么方法。可以动态找到对应的repeater里面的空间ID的。 --------------------编程问答-------------------- lz,
Insus.NET想问你一下,没有嵌套的Repeater控件,也就是说,单独的一个Repeater控件,能实现分页吗?
如果回签肯定的的话,嵌套之后的Repeater控件分页也一定没有问题,不管是嵌套还是被嵌套的Repeater控件。
当然这不是单单所指Repeater,Datalist还是GridView控件。 --------------------编程问答--------------------
先绑定数据源,再去做分页试试 --------------------编程问答-------------------- Repeater嵌套的响应速度很慢的,建议少用服务器控件的嵌套。
单层循环可以使用,嵌套循环可以使用追加等方式实现 --------------------编程问答-------------------- 这东西放到网络上能用么?
补充:.NET技术 , ASP.NET