asp内容分页原理
asp里在一个列表里如果想分页可以接受下分页的参数,然后在判断是否为空、是否为数字;然在设置每页显示多少条数据,在判断是否大于总页码...
那么内页呢?内页不能这样了,内页呢可以使用分页符号。比如:{$page$},当出现这个的时候则是否分页了,怎么判断呢?
比如你的一段文章这样写的:
其实你点击上传只是点击了浏览这个按钮,那么会让你选择文件,这步就来了重点了,你得监听这个上传浏览的文本框是否改变值,如果改变则提交下表单{$page$}这个就会提交给Iframe了,然后监听Iframe的返回值,比如你程序里上传成功返回的1,那么你监听他的值是否为1,如果为1则说明上传成功,否则为上传失败了。那么怎么监听这个Iframe呢,可以使用jquery的load()参数,也可以使用onload等。
那么到{$page$}的地方以前的都是第一页,下面到在出现{$page$}为止是第二页,当然如果没有分页符号了则是否直接到底了,没有第三页了。看程序代码:
dim content,page,Content_Tmp,Page_Count,OutContent
Content=rs("Content")
page=trim(request.QueryString("page"))
if page="" then page=1
'当然这里还要判断page是否合法,比如是否为正确的数字等
If InStr(Content,"{$page$}")>0 Then'如果包含分页符号则
Content_Tmp = Split(Content,"{$page$}")'储存个变量用来分割内容
Page_Count = Ubound(Content_Tmp)+1'让Page_Count=分割了多少个,也就是几页,这里+1是为了防止下标错误
If page> Page_Count Then page = Page_Count'如果当前页面大于总页则让当前等于总页
OutContent = Content_Tmp(page-1)'让输出变量=分割出来的内容里的第Page-1页面,比如你有2个分页符号,那么就是三页,Content_Tmp(0)就是第一页,Content_Tmp(1)就是第二页...
Else
OutContent = Content'如果不包含分页符则直接等于
End If
response.write(outcontent)'输出内容
那么上面的asp代码你应该可以看明白吧?
咱们现在内容是输出了,但是还缺少的就是内页分页后的导航啊,这样也好做
dim iPage,URL
If Page_Count>1 Then'如果总页大于1才显示内页分页导航
Response.Write("<div>")
For iPage=1 To Page_Count'循环,不解释
If iPage = 1 Then
URL = ID & ".html"'其中的ID是你的新闻ID,这里只是个模拟,实际的URL你自己根据自己的情况更改
Else
URL = ID & "_" & iPage & ".html"
End If
If iPage = thisPage Then
Response.Write("<strong style=""color:#FF0000;"">第" & iPage & "页</strong> ")
Else
Response.Write("<a href=""" & URL & """ title='点击进入第"&ipage&"页'>第" & iPage & "页</a> ")
End If
Next
Response.Write("</div>")
End If
到这里一个内页的分页已经OK了,这里是以静态URL为例子,当然你要根据自己的网站需求而更改URL。比如这里的是 html/1.html 这里1是文章的ID,如果有第二页就是 html/1_2.html ,如果你想动态的话只是改变下URL就OK了。
学习吧说到分页了,其实还有自动分页,比如多少个字符自动分页,只是那个还得N多判断,比如你分页的时候总不能把人家图片给分没吧,你分页的第1000个字符正好是个a标签该怎么办?
自动内页分页学习吧正在研究,出来后在给大家分享!
本文链接:https://xuexb.com/post/101.html
-- EOF --
提醒: 本文最后更新于 3189 天前,文中所描述的信息可能已发生改变,请谨慎使用。
Comments
注:如果长时间无法加载,请针对 disq.us | disquscdn.com | disqus.com 启用代理。