关于使用AspNetAjaxPager后翻页只显示第一页数据的问题

skywalker22 2014-10-22 10:49:47
RT。因为有两个repeater,一个绑定大赛届数,另一个根据大赛届数id绑定对应的新闻,绑定后可以正常显示。但是翻页时不管翻到第几页显示的都是第一页的内容,而我取控件的CurrentPageIndex值则一直显示为1,说明根本实际上是没翻页。但是翻页方法是被封装好的,调用不到,所以不知道该怎么办,特来求教。

代码如下。


protected void Page_Load(object sender, EventArgs e)
{
this.BindCI();
if (!Page.IsPostBack)
{
this.BindData(this.Pager1.CurrentPageIndex, this.Pager1.PageSize);
}
else
{
this.Pager1.OnPageIndexChanged = new PageIndexChangedDelegate(BindData);
}

}

public void BindCI()
{
this.Repeater_ci.DataSource = CompetitionPlatformBLL.T_BUS_CompetitionInformationBLL.GetList(" 1=1 order by C_Co_year desc");
this.Repeater_ci.DataBind();
}

protected void BindData(int PageIndex, int PageSize)
{
string fid = "";
if (HiddenField_selected_id.Value == "" || HiddenField_selected_id.Value == null)
{
fid = CompetitionPlatformBLL.T_BUS_CompetitionInformationBLL.GetTopModel().P_Co_id.ToString();
}
else
{
fid = this.HiddenField_selected_id.Value;
}

this.Pager1.RecordCount = CompetitionPlatformBLL.T_BUS_ComptitionNoticesBLL.GetList(" F_Co_id='" + fid + "' order by C_Co_isTop desc,C_Cn_addTime desc").Tables[0].Rows.Count;
if (this.Pager1.RecordCount > 0)
{
this.Label1.Visible = false;
this.Label1.Text = "";
this.Pager1.Visible = true;

int max = 0;
if (this.Pager1.RecordCount % PageSize == 0)
{
max = this.Pager1.RecordCount / PageSize;
}
else
{
max = (this.Pager1.RecordCount / PageSize) + 1;
}
if (PageIndex > max)
{
PageIndex = max;
}

this.Label2.Text = "页码是:" + this.Pager1.CurrentPageIndex;

DataTable dt = CompetitionPlatformBLL.T_BUS_ComptitionNoticesBLL.GetPage(PageSize, PageIndex, fid);
this.Repeater_cn.DataSource = dt;
this.Repeater_cn.DataBind();
}
else
{
this.Label1.Visible = true;
this.Label1.Text = "暂无数据";
this.Pager1.Visible = false;

this.Repeater_cn.DataSource = null;
this.Repeater_cn.DataBind();
}

}


...全文
159 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
ATM_RMB 2014-10-22
  • 打赏
  • 举报
回复
需要你手动赋值,翻页控件肯定有个事件,在事件里通过句柄能够获取,你查查其他的翻页事件都是怎么写的,都是大同小异
skywalker22 2014-10-22
  • 打赏
  • 举报
回复
引用 4 楼 ATM_RMB 的回复:
在每次翻页时this.Pager1.CurrentPageIndex需要被重新赋值
现在就是发现这个值一直都是1,根本没改变,不知道是怎么回事
ATM_RMB 2014-10-22
  • 打赏
  • 举报
回复
在每次翻页时this.Pager1.CurrentPageIndex需要被重新赋值
ATM_RMB 2014-10-22
  • 打赏
  • 举报
回复
在翻页的时候,肯定有个翻页事件,能够取到当前页this.Pager1.CurrentPageIndex
skywalker22 2014-10-22
  • 打赏
  • 举报
回复
引用 1 楼 Z65443344 的回复:
翻页分前台控件翻页,和后台代码翻页 前台控件翻页,意思是,数据已经整个绑定到了控件上,只不过控件并不显示所有的数据,需要通过翻页才能看到其他数据 而后台代码翻页,就是其实控件只绑定了一部分数据,通过翻页按钮加载其他数据,重新绑定到控件上去 不要说什么某某方法是封装好的,不能改 你看不懂人家封装好的方法怎么用,不会自己写个方法实现吗
不是看不懂,是CurrentPageIndex这个值为什么没变我不明白。如果我自己写我就不用上这来问了,不就是没时间才用的吗。
於黾 2014-10-22
  • 打赏
  • 举报
回复
翻页分前台控件翻页,和后台代码翻页 前台控件翻页,意思是,数据已经整个绑定到了控件上,只不过控件并不显示所有的数据,需要通过翻页才能看到其他数据 而后台代码翻页,就是其实控件只绑定了一部分数据,通过翻页按钮加载其他数据,重新绑定到控件上去 不要说什么某某方法是封装好的,不能改 你看不懂人家封装好的方法怎么用,不会自己写个方法实现吗
提供的源码资源涵盖了Java应用等多个领域,每个领域都包含了丰富的实例和项目。这些源码都是基于各自平台的最新技术和标准编写,确保了在对应环境下能够无缝运行。同时,源码中配备了详细的注释和文档,帮助用户快速理解代码结构和实现逻辑。 适用人群: 适合毕业设计、课程设计作业。这些源码资源特别适合大学生群体。无论你是计算机相关专业的学生,还是对其他领域编程感兴趣的学生,这些资源都能为你提供宝贵的学习和实践机会。通过学习和运行这些源码,你可以掌握各平台开发的基础知识,提升编程能力和项目实战经验。 使用场景及目标: 在学习阶段,你可以利用这些源码资源进行课程实践、课外项目或毕业设计。通过分析和运行源码,你将深入了解各平台开发的技术细节和最佳实践,逐步培养起自己的项目开发和问题解决能力。此外,在求职或创业过程中,具备跨平台开发能力的大学生将更具竞争力。 其他说明: 为了确保源码资源的可运行性和易用性,特别注意了以下几点:首先,每份源码都提供了详细的运行环境和依赖说明,确保用户能够轻松搭建起开发环境;其次,源码中的注释和文档都非常完善,方便用户快速上手和理解代码;最后,我会定期更新这些源码资源,以适应各平台技术的最新发展和市场需求。 所有源码均经过严格测试,可以直接运行,可以放心下载使用。有任何使用问题欢迎随时与博主沟通,第一时间进行解答!

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧