这个是存储过程:
create proc ProcShowUserInfoPageIng
(
@pageindex int, -- 当前页
@pagesize int,  --页索引大小
--@WhereEx varchar(50), 查询条件
@TotalCount int output, --总记录数
@pageCount int output   --可分为N页
)
as
begin
declare @TempVar intselect top(@pagesize)* from

select row_number() over(order by businessid desc) as id,* from businesstb) as Info
where businessid >@pagesize*(@pageindex-1)select @TotalCount=count(businessid) from businesstb 
--临时使用
set @TempVar=@TotalCount%@pagesize
if(@TempVar>0)
begin
set @PageCount=@TotalCount/@pagesize+1;
end 
else
begin
set @pageCount=@TotalCount/@pagesize;
end
end这个是绑定代码: 
           SQLHelper sqlp = new SQLHelper();
            SqlConnection conn =sqlp.GetConnection();
            SqlCommand cmd = new SqlCommand("ProcShowUserInfoPageIng", conn);
            cmd.CommandType = CommandType.StoredProcedure;
            SqlParameter[] par = new SqlParameter[4];
            par[0] = new SqlParameter("@pageindex", AspNetPager1.CurrentPageIndex);
            par[1] = new SqlParameter("@pagesize", AspNetPager1.PageSize);
            par[2] = new SqlParameter("@TotalCount", SqlDbType.Int);
            //制定为输出类型
            par[2].Direction = ParameterDirection.Output;            par[3] = new SqlParameter("@pageCount", SqlDbType.Int);
            par[3].Direction = ParameterDirection.Output;            foreach (SqlParameter pa in par)
            {
                cmd.Parameters.Add(pa);
            }
            SqlDataAdapter sda = new SqlDataAdapter(cmd);
            DataSet ds = new DataSet();
            try
            {
                sda.Fill(ds);
            }
            catch(Exception e)
            {
                Response.Write("<script>alert('"+e.Message.ToString()+"')</script>");
            }
            finally
            {
                sda.Dispose();
                conn.Close();
            }
        AspNetPager1.RecordCount =Int32.Parse(par[2].Value.ToString());
        AspNetPager1.CustomInfoHTML = "共有:" + par[2].Value.ToString() + "条记录 ";
        AspNetPager1.CustomInfoHTML += "当前第:" + AspNetPager1.CurrentPageIndex + "页";
        AspNetPager1.CustomInfoHTML += " 可分为:" + par[3].Value.ToString() + "页";
        this.GridView1.DataSource = ds.Tables[0].DefaultView;
        this.GridView1.DataBind();
AspNetPager1_PageChanged直接调用的是上面的这个方法。分页的时候,GridView1内容不变呢,无语了

解决方案 »

  1.   

    你分页之后的数据源绑定正确吗?DEMO
      

  2.   

    <webdiyer:AspNetPager ID="AspNetPager1" runat="server" EnableTheming="True" OnPageChanged="AspNetPager1_PageChanged"                                FirstPageText="第一" Font-Size="10pt" LastPageText="最后" NextPageText="下页" 
                                    PrevPageText="上页" ShowCustomInfoSection="Left" ShowNavigationToolTip="True" 
                                    SubmitButtonText="go转到" Width="360px" PageSize="15">
                                </webdiyer:AspNetPager>
      

  3.   

    AspNetPager1_PageChanged中应该把数据传给@pageindex
    void AspNetPager1_PageChanged(sender,e)
    {
       par[0] = new SqlParameter("@pageindex", e.NewPageIndex);
    }
      

  4.   

    数据重新绑定了吗
    论坛签名======================================================================woaibmw:你好!
    截至 2011-03-20 20:22:32 前:
    你已发帖 5 个, 未结贴 0 个;
    结贴率为: 100.00%

    当您的问题得到解答后请及时结贴.

    http://topic.csdn.net/u/20090501/15/7548d251-aec2-4975-a9bf-ca09a5551ba5.html
    http://topic.csdn.net/u/20100428/09/BC9E0908-F250-42A6-8765-B50A82FE186A.html
    http://topic.csdn.net/u/20100626/09/f35a4763-4b59-49c3-8061-d48fdbc29561.html如何给分和结贴?
    http://community.csdn.net/Help/HelpCenter.htm#结帖如何给自己的回帖中也加上签名?
    http://blog.csdn.net/q107770540/archive/2011/03/15/6250007.aspx
      

  5.   

    看起来没问题的,是不是你GridView1在UpdatePanel里,而分页控件不在UpdatePanel里呀?
      

  6.   

    where businessid >@pagesize*(@pageindex-1)最后找到答案了,非常感谢大家的回答,这个businessid 字段不正确,应该是id的,感谢大家