http://aspnetpager.51aspx.com/updatepanel/default.aspx这个就是我要改的效果,我下下来后,他那个分页用到了存储过程,可那个存储过程我不知道怎么改成我一个表的,也就是Users表,而他那个是三个表,我改成一个后运行也不显示分页,不知道怎么改,等待大侠们,谢谢,在线等

解决方案 »

  1.   

    看那干嘛  找人家 aspnetpager 官方网址www.webdiyer.com  上面有存储过程  自动生成的网页
      

  2.   

    CREATE PROCEDURE PageList
    @TableName nvarchar(50), -- 表名
    @ReturnFields nvarchar(2000) = '*', -- 需要返回的列 
    @PageSize int = 10, -- 每页记录数
    @PageIndex int = 1, -- 当前页码
    @strWhere nvarchar(MAX) = '',     -- 查询条件
    @orderColumn nvarchar(2000),     -- 排序字段名 最好为唯一主键
    @OrderType int = 0 -- 排序类型 1:降序 0 - 升序
    AS
    DECLARE @TotalRecord int
    DECLARE @TotalPage int
    DECLARE @CurrentPageSize int
        DECLARE @TotalRecordForPageIndex int
        DECLARE @OrderBy nvarchar(255)
        DECLARE @CutOrderBy nvarchar(255)
    DECLARE @SQL NVARCHAR(MAX)

    if @OrderType = 1
    BEGIN
    set @OrderBy = ' Order by ' + @orderColumn + ' desc '
    set @CutOrderBy = ' Order by '+ @orderColumn + ' asc '
    END

    ELSE BEGIN
    set @OrderBy = ' Order by ' + @orderColumn + ' asc '
    set @CutOrderBy = ' Order by '+ @orderColumn + ' desc '
    END


        -- 记录总数
    declare @countSql nvarchar(MAX)  
    set @countSql='SELECT @TotalRecord=Count(*) From '+@TableName+' '+ @strWhere
    execute sp_executesql @countSql,N'@TotalRecord int out',@TotalRecord out

        if @PageSize = 0
    set @PageSize = 1 SET @TotalPage=(@TotalRecord-1)/@PageSize + 1 SET @CurrentPageSize=@PageSize    --页数超过总页数,则显示最后一页数据
        if @PageIndex > @TotalPage 
           set @PageIndex = @TotalPage    IF @TotalPage = @PageIndex
    BEGIN
    SET @CurrentPageSize = @TotalRecord%@PageSize
    IF @CurrentPageSize = 0
    SET @CurrentPageSize=@PageSize
    END
    -- 返回记录
    set @TotalRecordForPageIndex=@PageIndex*@PageSize
    SET @SQL = 'SELECT * FROM (SELECT TOP '+ CAST(@CurrentPageSize AS NVARCHAR(10) ) 
     + ' * FROM (SELECT TOP '+ CAST( @TotalRecordForPageIndex AS NVARCHAR(10) ) 
     + ' ' + @ReturnFields 
     + ' FROM ' + @TableName + ' ' + @strWhere + ' ' + @OrderBy 
     + ') TB2 ' + @CutOrderBy + ') TB3 ' + @OrderBy 
    exec(@SQL)
    PRINT @SQL
    -- 返回总页数和总记录数
    --SELECT @TotalPage as 总页数,@TotalRecord as 总记录数