我看帮助文档的时候说RecordCount这个属性是当页面第一次加载时,应以编程方式将从存储过程或Sql语句中返回的数据表中所有要分页的记录的总数赋予该属性
应该赋给它使用的行才对 但是赋给它的却是第一行的的一列 为什么啊 我用的是存储过程:
这样的:
CREATE procedure pro_order
(@pagesize int,
@pageindex int,
@docount bit)
as
set nocount on
if(@docount=1)
select count(OrderID) from Orders
else
begin
declare @indextable table(id int identity(1,1),nid int)
declare @PageLowerBound int
declare @PageUpperBound int
set @PageLowerBound=(@pageindex-1)*@pagesize
set @PageUpperBound=@PageLowerBound+@pagesize
set rowcount @PageUpperBound
insert into @indextable(nid) select OrderID from Orders order by RequiredDate desc
select O.* from Orders O,@indextable t where O.OrderID=t.nid
and t.id>@PageLowerBound and t.id<=@PageUpperBound order by t.id
end
set nocount offGO

解决方案 »

  1.   

    @docount参数的值为true时返回的才是分页的总记录数,否则就是你上面说的第一条记录的第一列字段的值了。
      

  2.   

    对,楼主显然是没仔细看这一句
    if(@docount=1)
    select count(OrderID) from Orders
    else
    所以这个存储过程等于是有两个作用,当然LZ可以自己稍微改一下,只要自己理解就行,不一定全要用那一套的
      

  3.   

    string con = ConfigurationManager.ConnectionStrings["NorthwindConnectionString"].ConnectionString;
                SqlConnection dbconnection = new SqlConnection(con);
                SqlCommand cmd = new SqlCommand("pro_order",dbconnection);
                cmd.CommandType = CommandType.StoredProcedure;
                cmd.Parameters.Add("@pagesize", 1);
                cmd.Parameters.Add("@pageindex", 1);
                cmd.Parameters.Add("@docount", true);
                dbconnection.Open();
                this.AspNetPager1.RecordCount = (int)cmd.ExecuteScalar();
                dbconnection.Close();
                SetDataBind();1.我在用这样的语句的时候 提示:
    警告 1 “System.Data.SqlClient.SqlParameterCollection.Add(string, object)”已过时:“Add(String parameterName, Object value) has been deprecated.  Use AddWithValue(String parameterName, Object value).  http://go.microsoft.com/fwlink/?linkid=14202” D:\WebSite1\AspNetPager\Northwind_SQL_Pager\Default.aspx.cs 22 13 D:\...\Northwind_SQL_Pager\说是过时了2.还有就是用这句的时候 cmd.CommandText = CommandType.StoredProcedure; 
    提示:错误 4 无法将类型“System.Data.CommandType”隐式转换为“string” D:\WebSite1\AspNetPager\Northwind_SQL_Pager\Default.aspx.cs 37 27 D:\...\Northwind_SQL_Pager\
    3.还有就是想这样的cmd.Parameters.Add("@pagesize", 1);语句根本在Add中就没有这样的参数列表啊??