请问你们在ASP.NET中怎么分页的啊,我一直用的DataPager,这个是.NET中封装好的类,感觉效率好低,能不能教教我啊

解决方案 »

  1.   

    看看你的结贴率啊。。AspnetPager用这个来分页
      

  2.   

    listview + objectdatasource+存储过程
      

  3.   

    AspNetPage 控件+top 语句查询
      

  4.   

    存储过程 
    AspNetPage 控件 。
    或者自己拼字符串 。
      

  5.   

    自己拼字符串\存储过程+AspNetPage 控件  分页用存储过程比较多
    还有js+json的异步调用处理.
      

  6.   

    aspnetpager + 海量存储过程分页
      

  7.   


    再加上通用分页存储过程就可以很高效地实现分页
    set ANSI_NULLS ON
    set QUOTED_IDENTIFIER ON
    go
    ALTER PROCEDURE [dbo].[PROCE_SQL2005PAGECHANGE]
    (
     @TableName varchar(50),            --表名
     @ReFieldsStr varchar(200) = '*',   --字段名(全部字段为*)
     @OrderString varchar(200),         --排序字段(必须!支持多字段不用加order by)
     @WhereString varchar(500) =N'',  --条件语句(不用加where)
     @PageSize int,                     --每页多少条记录
     @PageIndex int = 1 ,               --指定当前为第几页
     @TotalRecord int output            --返回总记录数
    )
    AS
     
    BEGIN        --处理开始点和结束点
        Declare @StartRecord int;
        Declare @EndRecord int; 
        Declare @TotalCountSql nvarchar(500); 
        Declare @SqlString nvarchar(2000);    
        set @StartRecord = (@PageIndex-1)*@PageSize + 1
        set @EndRecord = @StartRecord + @PageSize - 1 
        SET @TotalCountSql= N'select @TotalRecord = count(*) from ' + @TableName;--总记录数语句
        SET @SqlString = N'(select row_number() over (order by '+ @OrderString +') as rowId,'+@ReFieldsStr+' from '+ @TableName;--查询语句
        --
        IF (@WhereString! = '' or @WhereString!=null)
            BEGIN
                SET @TotalCountSql=@TotalCountSql + '  where '+ @WhereString;
                SET @SqlString =@SqlString+ '  where '+ @WhereString;            
            END
        --第一次执行得到
        --IF(@TotalRecord is null)
        --   BEGIN
               EXEC sp_executesql @totalCountSql,N'@TotalRecord int out',@TotalRecord output;--返回总记录数
        --  END
        ----执行主语句
        set @SqlString ='select * from ' + @SqlString + ') as t where rowId between ' + ltrim(str(@StartRecord)) + ' and ' +  ltrim(str(@EndRecord));
        Exec(@SqlString)    
    END
      

  8.   

    AspNetPager分页控件 加存储过程 效率应该最好~
      

  9.   

    如果更追求效率的话 用json JQUERY +一般处理程序
      

  10.   

    用 AspNetPager分页控件 加存储过程 效率应该最好~  或者是GRIDVIEW 分页自带  反正我是自己用第一种
      

  11.   

    aspnetpager
      

  12.   

    存储过程,Linq,分页控件 都用过
      

  13.   

    AspnetPager + 存储过程。 一般都是这个方法了。