分页可能是代码有误 请高手帮忙下!谢谢了

xiqing46 2009-11-24 09:27:41
if jishu mod 1 =0 then rstr=rstr & "</tr>"
jishu=jishu+1
rs.movenext
iItem = iItem - 1
Loop
jishu=jishu-1
if jishu mod 1 <> 0 then
for i= 1 to 1-(jishu mod 1)
rstr=rstr & "<td width='10%'> </td>"
if i = 1-(jishu mod 1) then rstr=rstr & "</tr>"
next
end if
strPage = "<div class='pagination'> <li class='disablepage'>共" & rs.pageCount & "</strong>页</li>"
strPage = strPage & " <li class='disablepage'>当前第<strong>" & Page & "</strong>页</li>"
if Rs.PageCount > 1 then
isslh=false
for iWooo = 1 to rs.pageCount
if iWooo = page then
strPage = strPage & " <li class='currentpage'>" & iWooo & "</li>"
else
if iWooo>8 || iWooo<rs.pageCount-8 then
if iWooo = 1 then
strPage = strPage & " <li><a href='10"&classid&".htm'>" & iWooo & "</a></li>"
else
strPage = strPage & " <li><a href='10"&classid&"_" & iWooo & ".htm'>" & iWooo & "</a></li>"
end if
else
if isslh then strPage = strPage & "..."
end if
end if
next
end if
...全文
47 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
junshanhudazhaxi 2009-11-25
  • 打赏
  • 举报
回复
有错误你不说什么错误?代码也贴一半?还是这种无格式的代码!
leiziaitudou 2009-11-25
  • 打赏
  • 举报
回复
<script language="VB" runat="server">
'定义若干页面级变量和常量,主要用来分页
Dim conn As OleDbConnection '数据库连接对象变量
Dim PageSize As Integer '每行显示多少条记录
Dim StartPosition As Integer '从第几条记录开始显示
Dim CurrentPage As Integer '当前显示第几页
Dim TotalPage As Integer '该变量用来表示总共多少页

Sub Page_Load(Sender As Object, E As EventArgs)
'建立Connection对象
conn= New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.Mappath("guest.mdb"))
'从web.Config文件中读取数据
PageSize=ConfigurationSettings.AppSettings("PageSize")

'如果没有提交表单,就执行下面的绑定函数
If Not Page.IsPostBack Then
'下面调用函数,绑定数据
Call BindData()
End If
End Sub

'数据绑定过程,供其它函数调用
Sub BindData()
'在绑定数据之前,先计算得到有关变量**************************************************************

'先调用函数,返回总共有多少页
TotalPage=GetTotalPage()

'计算当前要显示的页
If Request.QueryString("commandname")<>"" Then
'这种情况表示选择了上一页或下一页,因此从Session中读取,并根据具体情况加1或减1
Select Case Request.QueryString("commandname")
Case "first"
CurrentPage=1
Case "prev"
CurrentPage=CInt(Session("CurrentPage"))-1
If CurrentPage<1 Then CurrentPage=1 '如果小于1,当然应该显示第1页
Case "next"
CurrentPage=CInt(Session("CurrentPage"))+1
If CurrentPage>TotalPage Then CurrentPage=TotalPage '如果大于总数,就显示最后页
Case "last"
CurrentPage=TotalPage
End Select
'选择完毕,重新将页码保存到Session中
Session("CurrentPage")=CurrentPage
ElseIf Not (Session("CurrentPage") Is Nothing) Then
'这种情况表示没有选择下面的页码,但也不是刚打开页面,可能是提交了表单,或者从回复和删除页面返回。
'此时应该从Session中读取。(当然,如果要考虑复杂,还可以细分各种情况)
CurrentPage = Session("CurrentPage")
Else
'这种情况表示刚刚打开页面,还没有提交或选择页码,因此另其为1
CurrentPage=1
Session("CurrentPage")=CurrentPage
End If

'下面开始绑定数据***********************************************************************************
Dim adp As New OleDbDataAdapter("select * from guest order by submit_date Desc", conn) '建立DataAdapter对象
Dim ds As New DataSet() '建立DataSet对象

'计算从第几条记录开始显示,应该是当前页的第1条记录,请仔细理解其中的数学计算
'注意记录索引从0开始

StartPosition=(CurrentPage-1)*PageSize

'这里的Fill方法有4个参数,第2个表示从第几行开始,第3个表示总共要多少行
adp.Fill(ds,StartPosition,Pagesize,"guest") '填充DataSet对象

MyRepeater.DataSource=DS.Tables("guest").DefaultView '指定数据源
MyRepeater.DataBind() '执行绑定

'下面设置有关显示总页数和当前显示页数信息*************************************************************
theCurrentPage.Text=CurrentPage.Tostring
theTotalPage.Text=TotalPage.Tostring
End Sub

'该函数用来返回总共有多少页
Function GetTotalPage()
'下面先返回总共有多少条记录
Dim TotalRecord As Integer
Dim strsql As String = "select count(*) as total From guest"
Dim cmd As New OleDbCommand(strsql, conn)
conn.Open()
Dim dr As OleDbDataReader = cmd.ExecuteReader
If dr.Read() Then
' intCount = Int32.Parse(dr.Item("total").ToString)
TotalRecord = dr.Item("total")
Else
TotalRecord = 0
End If
Conn.Close()
'下面计算总共有多少页
If (TotalRecord Mod PageSize)=0 Then
'如果能整除,则
GetTotalPage=TotalRecord/PageSize '返回函数值
Else
'如果不能整除,则用整除\并+1
GetTotalPage=TotalRecord\PageSize+1 '返回函数值
End If
End Function

看看这个
最新演示地址    http://www.521360.com  网站采用114啦内核,99%仿360安全网址,版面清晰简洁,首页代码精简,生成首页HTML为44KB。  天气、手机充值、点卡均调用360官方,邮箱可以正常登录(个别有限制),增加滚动实时新闻,突出网上购物版块。 首页网址、内页网址、广告、实用工具均为调用系统标签,实现所有网址通过后台即可任意修改,无需再登录FTP。 ★★★★重大更新★★★★ 全站网址数据最新更新,确保无任何 非法网站、无法打开网站、强制性广告网站,数据大小1.82M。 结合 265、114la、hao123、2345四大名站,取其精华去其糟粕,加入少量珍藏网站,打开首页就能感觉到耳目一新了。  附带: PSD  logo 源文件,改个logo就上线,简单方便! Ps:本站美工修改不会用PS修改gif透明图,如有高手进群指点,谢谢!!  附带: linux win 主机对应301 重定向文件,全站优化,全新数据,让贵站在千篇一律的导航站中脱颖而出,成为经典!                                安装方法:     1.上传安装程序到空间,空间需支持PHP,MYSQL数据库。(建议 web 100M mysql 20M 双线全能空间)     2.访问 http://网址/install 执行安装,按照提示填入mysql数据库信息。     3.安装时默认设置后台管理  http://网址/admin 用户:admin 密码:521360 (以防安装出错建议默认安装,然后登陆后台修改密码)     4.登陆后台点击生成全站即可访问。    修改方法    1. ★★★★把 360jsvisit.js  涉及到  www.521360.com 域名的地方对应修改为你使用的域名    ★★★★切忌必改★★★★    2.主页搜索联盟ID修改 360jsvisit.js  内页搜索联盟ID在后台分页主体修改。(有联盟ID的对应修改即可,没有的勿乱改,否则会造成首页JS错误)    3.首页包括淘宝客和联盟广告,在后台对应修改即可。    4.重装时复制install文件夹至根目录执行重装。    5.其他修改不懂的朋友到群内咨询客服。                   AD: 另外本版本还需js优化,懂JS的朋友希望进群指点,帮忙把JS文件多余的东西删除掉,这样首页就更快了! 360导航网QQ交流群:   87978289       ★★★★版本不断创新,本群第一时间首发★★★★

28,406

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧