我的代码是这样的:PagedDataSource objPage=new PagedDataSource();//创建分页类
objPage.DataSource=ds.Tables["page"].DefaultView;//设置数据源
objPage.AllowPaging=true;
objPage.PageSize=10; if(Request.QueryString["Page"]!=null)
{
CurPage=Convert.ToInt32(Request.QueryString["Page"]);
CurPage=Math.Min(CurPage,objPage.PageCount);
CurPage=Math.Max(CurPage,1);
}
else
CurPage=1;
objPage.CurrentPageIndex=CurPage-1;
TotalPage=objPage.PageCount;
Tnum=objPage.DataSourceCount;
EachPage=objPage.Count;
lblCurPage.Text="第 "+CurPage.ToString()+" / "+TotalPage.ToString()+" 页";
lblTnum.Text="共: " +Tnum+" 条记录";
lblEachPage.Text="每页有: "+EachPage.ToString()+" 条记录";

if(objPage.CurrentPageIndex!=0)
lnkFirst.NavigateUrl=Request.CurrentExecutionFilePath+"?Page="+Convert.ToString(1);
if(objPage.CurrentPageIndex!=TotalPage-1)
lnkLast.NavigateUrl=Request.CurrentExecutionFilePath+"?Page="+Convert.ToString(TotalPage);

if(!objPage.IsFirstPage)
lnkPrev.NavigateUrl=Request.CurrentExecutionFilePath+"?Page="+Convert.ToString(CurPage-1);
if(!objPage.IsLastPage)
lnkNext.NavigateUrl=Request.CurrentExecutionFilePath+"?Page="+Convert.ToString(CurPage+1);
但是,为什么第一页能显示出来,当我点下一步后,第二页就不显示内容了呢???
地址栏的URL是:
/result.aspx?Page=2
可没什么效果啊...是什么原因呢???????????????????????

解决方案 »

  1.   

    楼主为什么不用AspNetPage这上组件呢。
      

  2.   

    用AspNetPage 分页控件的代码:cmdstr="select count(*) from table";
    cnn=DBCon.DBConstr();
    cmd=new OleDbCommand(cmdstr,cnn);
    cnn.Open();
    AspNetPager1.RecordCount=(int)cmd.ExecuteScalar();
                cmdstr="select id,user_name,true_name,sex,phone,login_time,login_times from user_info order by reg_time desc";
    OleDbDataAdapter da=new OleDbDataAdapter(cmdstr,cnn);
    DataSet ds=new DataSet();
    da.Fill(ds,AspNetPager1.PageSize*(AspNetPager1.CurrentPageIndex-1),AspNetPager1.PageSize,"table");
    DataList1.DataSource=ds.Tables["table"].DefaultView;
    DataList1.DataBind();
    cnn.Close();
      

  3.   

    是不是PagedDataSource 里面有问题?
      

  4.   

    就是
    if(objPage.CurrentPageIndex!=0)
    lnkFirst.NavigateUrl=Request.CurrentExecutionFilePath+"?Page="+Convert.ToString(1);
    if(objPage.CurrentPageIndex!=TotalPage-1)
    lnkLast.NavigateUrl=Request.CurrentExecutionFilePath+"?Page="+Convert.ToString(TotalPage);if(!objPage.IsFirstPage)
    lnkPrev.NavigateUrl=Request.CurrentExecutionFilePath+"?Page="+Convert.ToString(CurPage-1);
    if(!objPage.IsLastPage)
    lnkNext.NavigateUrl=Request.CurrentExecutionFilePath+"?Page="+Convert.ToString(CurPage+1);
    这个地方的问题,Request.CurrentExecutionFilePath是得到当前虚拟路径,然后"路径?Page=2就到第二页,就没效果了..幕白兄帮忙啊
      

  5.   

    lnkNext.NavigateUrl=Server.MapPath("路径")+"?Page="+Convert.ToString(CurPage+1);
      

  6.   

    PagedDataSource objPage=new PagedDataSource();//创建分页类
      

  7.   

    objPage.DataSource=ds.Tables["page"].DefaultView;//设置数据源
    objPage.AllowPaging=true;
    objPage.PageSize=10;
    因为objPage还有 AllowPaging ,PageSize等属性.是自己加的还是继续某个控件如DataGrid?
      

  8.   

    lblCurPage.Text="第 "+CurPage.ToString()+" / "+TotalPage.ToString()+" 页";
    lblTnum.Text="共: " +Tnum+" 条记录";
    lblEachPage.Text="每页有: "+EachPage.ToString()+" 条记录";
    着是3个label
    第一页显示正常,但第2页就不显示了...为什么?什么原因
      

  9.   

    DataList1.DataSource=ds.Tables["table"].DefaultView;
    DataList1.DataBind();---------------------------------------------------
    分页以后要重新绑定数据源
      

  10.   

    搞定了,不用这个了,用aspnetpager了
    非常好啊...
      

  11.   

    WTS分页三剑侠
    http://community.csdn.net/Expert/topic/5290/5290374.xml?temp=.4305994