Repeater分页,显示全部页码
如网站百度推广的这个页面所示 我想要在下面显示所有页号 ,上面的内容我是用repeater绑定的,但是下面显示多少页码,点击每个数字后的跳转等,要怎么做呢,谢谢大家! --------------------编程问答-------------------- 你指的是分页的sql语句? --------------------编程问答-------------------- http://bbs.csdn.net/topics/390435499分页控件。
下面是个分页的存储过程。
--------------------编程问答-------------------- 使用的时候只要提取出来总数目赋值给分页控件(具体你可以看一下控件的说明文档,很容易)。
CREATE PROCEDURE [dbo].[pr_GetRecordByPage]
@tblName varchar(255), -- 表名
@fldName varchar(255), -- 主键字段名
@PageSize int = 10, -- 页尺寸
@PageIndex int = 1, -- 页码
@OrderType bit = 0, -- 设置排序类型, 非 0 值则降序
@IsReCount bit = 0, -- 返回记录总数, 非 0 值则返回
@strWhere varchar(1000) = '' -- 查询条件 (注意: 不要加 where)
AS
declare @strSQL varchar(7000) -- 主语句
declare @strTmp varchar(1000) -- 临时变量
declare @strOrder varchar(400) -- 排序类型
if @OrderType != 0
begin
set @strTmp = '<(select min'
set @strOrder = ' order by [' + @fldName +'] desc'
end
else
begin
set @strTmp = '>(select max'
set @strOrder = ' order by [' + @fldName +'] asc'
end
set @strSQL = 'select top ' + cast(@PageSize as varchar(10)) + ' * from ['
+ @tblName + '] where [' + @fldName + ']' + @strTmp + '(['
+ @fldName + ']) from (select top ' + cast((@PageIndex-1)*@PageSize as varchar(10)) + ' ['
+ @fldName + '] from [' + @tblName + ']' + @strOrder + ') as tblTmp)'
+ @strOrder
if @strWhere != ''
set @strSQL = 'select top ' + cast(@PageSize as varchar(10)) + ' * from ['
+ @tblName + '] where [' + @fldName + ']' + @strTmp + '(['
+ @fldName + ']) from (select top ' + cast((@PageIndex-1)*@PageSize as varchar(10)) + ' ['
+ @fldName + '] from [' + @tblName + '] where ' + @strWhere + ' '
+ @strOrder + ') as tblTmp) and ' + @strWhere + ' ' + @strOrder
if @PageIndex = 1
begin
set @strTmp =''
if @strWhere != ''
set @strTmp = ' where ' + @strWhere
set @strSQL = 'select top ' + cast(@PageSize as varchar(10)) + ' * from ['
+ @tblName + ']' + @strTmp + ' ' + @strOrder
end
if(@IsReCount<>0)
begin
set @strSQL = 'select count(1) as Total from [' + @tblName + ']'
if @strWhere != ''
set @strSQL = 'select count(1) as Total from [' + @tblName + ']'+' where ' + @strWhere
end
EXEC (@strSQL)
return
每次点击页码的时候 赋值给存储过程不同的页码变量(同时先取出来总数目,防止提取前总数目有变化。),返回结果绑定给repeater控件。 --------------------编程问答-------------------- http://www.cnblogs.com/bq-blog/archive/2010/03/09/1681631.html
aspnetpager --------------------编程问答-------------------- 分页已经是老生常谈的了,怎么做决定自己的想法,有3种方法:
1 数据表分页法
2 SQL读取法
3 1和2结合法
以上资料全部都可以搜索到,SQL的就不说了,数据表分页法和SQL这2种办法看情况应用,都可以实现分页目的,个人更喜欢自己构建其实不难。 --------------------编程问答--------------------
最好用分页控件吧
补充:.NET技术 , ASP.NET