读书人

AspNetPager翻页但无数据展示

发布时间: 2013-09-07 14:12:44 作者: rapoo

AspNetPager翻页但无数据显示
求助啊!
用的AspNetPager翻页,设定每10条一页,输入了11条记录,能正确分2也,第一页也正确显示了10条记录,但一旦翻到第二页就显示无数据,搞了2天了!哭死~
代码如下:
ds = manage.GetNewsListByName(_channelName,_parentName);
Response.Write("<script>alert('"+ds.Tables[0].Rows.Count.ToString()+"');</script>");
AspNetPager1.RecordCount = ds.Tables[0].Rows.Count;
AspNetPager1.PageSize = 10;
PagedDataSource pds = new PagedDataSource();
pds.DataSource = ds.Tables[0].DefaultView;
pds.AllowPaging = true;
pds.CurrentPageIndex = AspNetPager1.CurrentPageIndex-1;
pds.PageSize = AspNetPager1.PageSize;
GvList.DataSource = pds;
GvList.DataBind();
if (ds.Tables[0].Rows.Count > 0)
{
AspNetPager1.Visible = true;
}
else
{
AspNetPager1.Visible = false;
}

用js弹了下,第一页正确弹出11,第二页为0
sql肯定没问题,不然也不会弹出11,请问如何解决,十分感谢!
[解决办法]
翻页事件中重新绑定。
protected void AspNetPager1_PageChanging(object src, Wuqi.Webdiyer.PageChangingEventArgs e)
{
this.AspNetPager1.CurrentPageIndex = e.NewPageIndex;
this.PageFen();//重新绑定
}
[解决办法]
对啊 你分页的话有个事件

protected void AspNetPager1_PageChanged(object sender, EventArgs e)
{
//绑定数据
}

我做的贴出来 你参考下

//绑定数据


private void BindDemandData()
{
int totalrows = 0;
int Pager1 = AspNetPager1.CurrentPageIndex;//当前页数
int Pager2 = AspNetPager1.PageSize;//每页显示数
DataTable dt = operate.GetDataByPageDemand(Pager1, Pager2, out totalrows);
this.AspNetPager1.RecordCount = totalrows;//总记录数
this.ReList.DataSource = dt;
this.ReList.DataBind();
}

//跳转分页
protected void AspNetPager1_PageChanged(object sender, EventArgs e)
{
BindDemandData();
}
[解决办法]
应该用户PageChanged事件而不是PageChanging,不需要设置CurrentPageIndex,你的问题,我估计可能是AspNetPager1.RecordCount 设置太迟了,你把这句放在Page_Load中试试。

读书人网 >asp.net

热点推荐