我无法从我要在网站上实施的帖子中获得期望的结果。我想使用转发器控件进行分页。
我指的是this method (post)以实施(c sharp corner的职位]
问题描述:
我已将页面大小设置为1,并且我在数据库中有4条记录。
分页中继器(根据代码为repeater1)已正确显示4页
问题是,当单击最后一页时,它没有显示结果。为了解释确切的问题,我在this link上放置了错误的代码。
可以在this link上查看所有4个帖子的列表。 (滚动到页面底部)
引起此问题的主要问题可能是什么?
我采取的步骤:1.我尝试设置pdsData.CurrentPageIndex = 0;到第41行的1(第3步)-问题未解决2.我尝试设置
ViewState["PageNumber"] = Convert.ToInt32(e.CommandArgument);
as
ViewState["PageNumber"] = Convert.ToInt32(e.CommandArgument)+1;
问题仍然相同(第61行或第3步)
我愿意接受使用中继器控制来实现有效寻呼的替代方法。我正在使用asp.net 4.5版。
我相信代码中的问题出在for循环:
for (int i = 1; i <= pdsData.PageCount; i++)
alPages.Add((i).ToString());
此循环已初始化为i = 1,而索引通常以零开始。我已将此初始化更改为i = 0。这使我的for循环像:
for (int i = 0; i < pdsData.PageCount; i++)
alPages.Add((i).ToString());
这解决了多余页面为空白的问题。
注意:此解决方案将从0、1、2等(而不是1、2、3等)开始启动寻呼机(底部的页码)。
我通过在.aspx页上的绑定文件中添加一(+1)来解决此问题。参见下面的示例:
<%#Int32.Parse( Container.DataItem.ToString())+1%>
这些编辑使使用中继器的分页没有错误变得流畅。