protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {
            int totalOrders = (int)SqlHelper.ExecuteScalar(CommandType.StoredProcedure, "P_GetOrderNumber");
            AspNetPager1.RecordCount = totalOrders;
            bindData();
        }
    }    void bindData()
    {
        DataList1.DataSource = SqlHelper.ExecuteReader(CommandType.StoredProcedure,ConfigurationManager.AppSettings["pagedSPName"],
            new SqlParameter("@startIndex", AspNetPager1.StartRecordIndex),
            new SqlParameter("@pageSize", AspNetPager1.PageSize));
        DataList1.DataBind();
    }
    protected void AspNetPager1_PageChanged(object src, EventArgs e)
    {
        bindData();
    }

解决方案 »

  1.   

    楼主用的是哪个版本的asp.net呢?如果是1.1版,请下载4.3.3版的安装程序或免安装程序,如果是asp.net 2.0版,可以使用最新的6.0.0 for vs2005版,示例项目已经很详细了,如果用的是sql server 2000数据库,需要修改示例项目的web.config,把appSettings中<add key="pagedSPName" value="P_GetPagedOrders2005"/>其中的value="P_GetPagedOrders2005"改为value="P_GetPagedOrders2000",另外修改connectionStrings配置节中的数据库连接:<add name="Sql2005Express" connectionString="Data Source=.\SQLEXPRESS;AttachDbFileName=|DataDirectory|NorthWnd.mdf;Integrated Security=True;User Instance=true" providerName="System.Data.SqlClient"/>使其指向本地sql server 2000中的northwind示例数据库,然后在northwind数据库中创建下面的示例中使用的分页存储过程P_GetPagedOrders2000:create procedure P_GetPagedOrders2000
    (@startIndex int,
    @pageSize int
    )
    as
    set nocount on
    declare @indextable table(id int identity(1,1),nid int)
    declare @PageUpperBound int
    set @PageUpperBound=@startIndex+@pagesize-1
    set rowcount @PageUpperBound
    insert into @indextable(nid) select orderid from orders order by orderid desc
    select O.orderid,O.orderdate,O.customerid,C.CompanyName,E.FirstName+' '+E.LastName as EmployeeName 
    from orders O
    left outer join Customers C
    on O.CustomerID=C.CustomerID
    left outer join Employees E
    on O.EmployeeID=E.EmployeeID
    inner join @indextable t on 
    O.orderid=t.nid
    where t.id between @startIndex and @PageUpperBound order by t.id
    set nocount off
    RETURN