当前位置: 首页 > 图文教程 > 网络编程 > AJAX技术 > ASP AJAX 静态分页

AJAX技术
一个简单的ASP+AJAX留言本源码下载
IE7下ajax之open Method New的说明
ASP+Ajax实现无刷新评论简单例子
AJAX的阻塞及跨域名解析
[js]一个获取页面ip的正则
AJAX乱码解决新方法
也写一个Ajax.Request类附代码
AJAX简历系统附js文件
Ajax留言本源码 提供下载了
找到一款不错的基于AJAX留言板源码(PHP版、ASP版)提供下载了
Ajax 学习资源 中外都有
本人ajax留言板的源程序 不错的应用js
xmlhttp 乱码 比较完整的解决方法 (UTF8,GB2312 编码 解码)
AJAX集天气\IP\多国语言翻译MP3(可同步LRC歌词显示)\万年历查询通
AJAX缓存问题的两种解决方法(IE)
AJAX 常用函数创建XMLHTTP对象,区别IE,Mozilla浏览器
Ajax的小贴士使用小结
用ajax动态加载需要的js文件
XMLHTTP多浏览器兼容性写法
PJBLOG中用到的ajaxjs.几个简单的函数

AJAX技术 中的 ASP AJAX 静态分页


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-13   浏览: 82 ::
收藏到网摘: n/a

这个页面注意是调用来自数据库中的数据。

<html>
<head>
<title>AJAX静态分页演示:http://www.ruanchen.com</title>
<meta http-equiv="content-type" content="text/html;charset=gb2312">
<style type="text/css">
<!--
body { text-align:center;font:14px Verdana,sans-serif; }
a:link,a:visited { color:#00f;text-decoration:none; }
a:hover { color:#f00;text-decoration:underline; }
#main { width:450px;background:#f2f2f2;border:1px #999 solid;padding:10px;text-align:left;line-height:150%;margin:0 auto; }
#title { width:100%;line-height:30px;border-bottom:1px #999 solid;display:table; }
#left { float:left;width:50%;text-align:left;font-size:14px;font-weight:bold; }
#right { float:left;width:50%;text-align:right; }
#content { width:100%;margin:10px 0;clear:both; }
#download { width:100%;margin:10px 0;line-height:150%; }
-->
</style>
<script type="text/javascript">
<!--
function createAjax() { //该函数将返回XMLHTTP对象实例
var _xmlhttp;
try {
_xmlhttp=new ActiveXObject("Microsoft.XMLHTTP"); //IE的创建方式
}
catch (e) {
try {
_xmlhttp=new XMLHttpRequest(); //FF等浏览器的创建方式
}
catch (e) {
_xmlhttp=false; //如果创建失败,将返回false
}
}
return _xmlhttp; //返回xmlhttp对象实例
}
function getweblist(page) { //该函数用来获取分页数据
var xmlhttp=createAjax(); //创建变量xmlhttp,并将createAjax()函数创建的对象实例赋于它
if (xmlhttp) { //如果xmlhttp对象创建成功,则执行条件语句中的程序
var content=document.getElementById('content'); //获取页面中id为content的对象
xmlhttp.open('get','server.asp?page='+page+'&n='+Math.random(),true); //打开与服务器的连接,其中get为连接方式,server.asp为要连接的页面,有两个参数,其中第一个参数page为需要返回数据的页数,第二个参数n为一个随机数,这样每次发送的URL都会不一样,相当于都向服务器发出一个新的请求,避免浏览器缓存数据。
xmlhttp.onreadystatechange=function() { //为xmlhttp对象的readyState属性指定事件,改属性值改变时,则会执行其中的程序
if (xmlhttp.readyState==4 && xmlhttp.status==200) { //如果xmlhttp.readyState==4并且xmlhttp.status==200时,执行条件中的程序,其中readyState有五个值,4为请求完成,是客户端向服务器提交的数据成功到达,status有N多值-_-!!,其中200为OK,是指服务器向客户端完成发送数据。
content.innerHTML=unescape(xmlhttp.responseText); //将服务器返回的数据解码并写入指定的ID中。
}
else {
content.innerHTML='<span style="color:red">正在从服务器提取数据......</span>'; //如果服务器没有完成传送,则向用户提示正在传输。
}
}
xmlhttp.send(null); //向服务器发送请求,因为是get请求,会直接附在URL后面,所以这里括号中的数据为null,IE中也可以不写,但FF就必须加上null,否则会发送失败。
}
}
function edit() { //编辑分页显示条数的函数
var str='<form style="margin:0">每页显示 <input type="text" id="pagesize" size="3"> 条 <input type="button" id="savebtn" value="保存" onclick="save()"> <input type="button" id="cancelbtn" value="取消" onclick="rightinfo()"></form>' //定义html字符串
var right=document.getElementById('right'); //获得页面中的right对象。
right.innerHTML=str; 将str变量的值写入该对象中。
}
function rightinfo() { //right对象中的原始信息,请在页面开始和被显示条数被修改后调用
document.getElementById('right').innerHTML='<a href="javascript:void(edit())" title="修改每页显示条数">Edit</a>';
}
function save() { //保存修改后的显示条数
var pagesize=document.getElementById('pagesize'); //这个就不写了,跟上面的用法一样。
if (pagesize.value==''||/[0-9]+/.test(pagesize.value)==false) { //确定用户输入的新数据是不是一个数字
alert("请正确填写每页显示条数! ");
return;
}
var xmlhttp=createAjax(); //创建对象
if (xmlhttp) {
xmlhttp.open('get','set.asp?pagesize='+pagesize.value+'&n='+Math.random(),true) //参上同看
xmlhttp.onreadystatechange=function() {
if (xmlhttp.readyState==4 && xmlhttp.status==200) {
document.getElementById('right').innerHTML=unescape(xmlhttp.responseText); //先写入从服务器返回的字符串,如果成功,会写入completed。
getweblist(1); //从新获取新修改后的第一页的数据
setTimeout('rightinfo()',3000); //3秒后将right对象的原始字符串写入。
}
else {
document.getElementById('pagesize').disabled=true; //将几个FORM表单的元素都设为不可改动
document.getElementById('savebtn').disabled=true;
document.getElementById('cancelbtn').disabled=true;
}
}
xmlhttp.send(null); //发送请求。
}
}
//-->
</script>
</head>
<body onload="getweblist(1);rightinfo();">
<div id="main">
<div id="title">
<div id="left">静态分页的AJAX实现</div>
<div id="right"></div>
</div>
<div id="content"></div>
<div id="download">
作者:十一狼<br />
联系:275915854(QQ) [email protected](email)<br />
下载:<a href="http://www.ruanchen.com" target="_blank">http://www.ruanchen.com</a>
</div>
</div>
</body>
</html>
这个页面注意是调用来自数据库中的数据。
asp数据库读取页面

复制代码 代码如下:

<!--#include file="conn.asp"-->
<%
'Dim pagesize
'sql="select top 1 * from [pagesize] order by id desc"
'rs.open sql,conn,1,1
'pagesize=rs("pagesize")
'rs.Close
If session("pagesize")="" Then session("pagesize")=9
Dim page
page=unescape(Request.QueryString("page"))
If page<>"" Then
sql="select * from [test] order by id asc"
rs.open sql,conn,1,1
If rs.eof Then
Response.Write(escape("还没有任何数据"))
Else
rs.pagesize=session("pagesize")
page=CLng(page)
If page<1 Then
page=1
ElseIf page>rs.pagecount Then
page=rs.pagecount
End If
rs.absolutepage=page
Dim i,str
str=str & "<div style='margin:0'>"
For i=1 To rs.pagesize
str=str & rs("id") & ". <a href='" & rs("weburl") & "' title='前往该网站' target='_blank'>" & rs("webname") & "</a><br />"
rs.movenext
If rs.eof Then Exit For
Next
str=str & "</div><div style='margin-top:10px;line-height:30px;text-align:left;border-top:1px #999 solid'>"
str=str & "<a href='javascript:void(getweblist(1))'><<</a> "
For i=1 To rs.pagecount
If i=page Then
str=str & "<span style='font-weight:bold;color:red;font-size:16px;'>" & i & "</span> "
Else
str=str & "<a href=javascript:void(getweblist(" & i & "))>" & i & "</a> "
End If
Next
str=str & " <a href='javascript:void(getweblist(" & rs.pagecount & "))'>>></a>"
str=str & "</div>"
str=escape(str)
Response.Write(str)
End If
rs.Close
Set rs=Nothing
conn.Close
Set conn=Nothing
Else
Response.Write(escape("Error:页数不能为空!"))
End If
%>

打包下载地址 http://www.ruanchen.com/odes/10094.html