国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > ASP > 正文

ASP ajax分頁教程一

2020-07-27 12:56:57
字體:
來源:轉載
供稿:網友
為什么我寫ASP分頁教程要提到AJAX呢,因為我們要多練習一下編程過程中,結構化的重要性.
再加上很多朋友對分頁感到很高深,所以一直都不敢去碰他,要么就用別人寫好的組件,要么就是改改別人的東西.特別是.net,我深有感觸,假如要快速開發一個項目,我想.net是一個非常優秀的平臺.但是,因為他的嚴重控件化,反而是新手接觸不到編程的思想,完全找不到編程的感覺,仿佛就象在搭積木.有時候還是要練習一下底層一點的東西,這樣個人的技術能力才會得到提高.我可不想做只會用.NET的組裝工人.
好了,下面給出ASP分頁的源代碼給大家,都進行了詳細的注釋,一般都可以看的懂.
因為這個是教程一,所以就從最簡單的開始,我直接使用的AbsolutePage來定義當前頁面,所以沒有用諸如MoveFirst這種比較復雜的游標方式,而且分頁也是用的下拉選擇框,等下個教程我再寫一下進階分頁方法,給出前進十頁,后退十頁,只顯示目前所在的十頁分組的方法.
ASP雖然是一個過時的東西,不過因為他可以使用JS來寫,所以我感覺要做一個項目DEMO的時候,使用ASP要比.NET或者JAVA更方便,因為他不用安裝體積龐大的環境.簡簡單單配置一下就可以了.真要大規模項目開發的話,我肯定還是會用.NET或JAVA的,因為這樣就會涉及到效率問題了. 
復制代碼 代碼如下:

<%@LANGUAGE="JAVASCRIPT" CODEPAGE="936"%>
<%
//定義數據庫連接語句
var connstring = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="
+Server.MapPath("database/vote.mdb");
//建立一個rs數據庫查詢
var rs = Server.CreateObject("ADODB.Recordset")
//rs連接方式
rs.ActiveConnection = connstring
//rs查詢語句(按照用戶提交時間倒序查詢)
rs.Source = "select * from users order by usetime DESC"
//定義數據庫查詢模式
rs.CursorType = 3
rs.CursorLocation = 3
rs.LockType = 1
//定義每頁顯示數據數量
rs.PageSize = 10
//打開數據庫連接
rs.Open()
//定義數據庫紀錄總數,分頁總數,URL路徑
var counts,pagecos,thisUrl
counts = rs.RecordCount
pagecos = rs.PageCount
thisUrl = Request.ServerVariables("URL")
//如果游標在表中就執行
if(!rs.EOF || !rs.BOF){
//如果url的page參數不為空就執行
if(Request("page").Count != 0){
//定義默認鏈接字符串,第一頁,尾頁,上頁,下頁
//URL的page值(指定的當前頁),當前頁,當前每頁顯示數據數量
var defaltStr,firstpage,lastpage,prepage,nextpage,pages,nowPage,nowSize
defaltStr = '<a href="'+thisUrl+'?page='
firstpage = defaltStr+'1">首頁</a>'
lastpage = defaltStr+pagecos+'">尾頁</a>'
pages = Request("page")
//如果處于第一頁
//首頁,上一頁不為鏈接
if(pages <= 1){
rs.AbsolutePage = 1;
firstpage = '首頁'
prepage = '上一頁'
nextpage = defaltStr+'2">下一頁</a>'
//如果處于最后一頁
//尾頁,下一頁不為鏈接
}else if(pages >= pagecos){
rs.AbsolutePage = pagecos;
prepage = defaltStr+(pagecos-1)+'">上一頁</a>'
lastpage = '尾頁'
nextpage = '下一頁'
}else{
rs.AbsolutePage = pages
prepage = defaltStr+(Number(pages)-1)+'">上一頁</a>'
nextpage = defaltStr+(Number(pages)+1)+'">下一頁</a>'
}
}
nowPage = rs.AbsolutePage
nowSize = rs.PageSize
//如果處于最后一頁,并且數據顯示數量與每頁顯示數據數量不相等時
//因為最后一頁不可能每次都剛好與每頁顯示數據數量相等
//所以需要定義一個不相等的方法
if(nowPage >= pagecos && (pagecos*rs.PageSize)%counts != 0){
nowSize = counts%rs.PageSize
}
%>
<table width="100%" border="0" cellspacing="0" cellpadding="0" class="userinfo">
<tr>
<td align="center">
<!--顯示首頁,上一頁 -->
<%=firstpage%> <%=prepage%> 
跳轉到第 <select onchange="location.href='<%=thisUrl%>?page='+this.value">
<%
//分頁依靠循環顯示
for(var num=1; num<=pagecos; num++){
if(nowPage == num){
%>
<option value="<%=num%>" selected="selected"><%=num%></option>
<%
}else{
%>
<option value="<%=num%>"><%=num%></option>
<%
}
}
%>
</select> 頁
<!--顯示下一頁,尾頁 -->
 <%=nextpage%> <%=lastpage%>
<!--顯示當前頁數,總頁數,總記錄數,每頁顯示數據數量 -->
 共 <%=nowPage%> / <%=pagecos%> 頁 <%=counts%> / <%=rs.PageSize%> 條記錄
</td>
</tr>
<%
//內容依靠循環顯示
for(var i=1;i<=nowSize;i++){
%>
<tr>
<td><span>用戶IP:</span><%=rs("usip")%></td>
</tr>
<tr>
<td><span>建議:</span><%=rs("us1")%></td>
</tr>
<tr>
<td><span>提交時間:</span><%=rs("usetime")%></td>
</tr>
<%
//數據庫游標向移向下一條記錄
rs.MoveNext();
}
%>
</table>
<%
//如果數據庫游標不在數據庫列中
}else{
Response.Write("沒有用戶信息!")
}
//關閉數據庫連接
rs.Close()
%>
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 丘北县| 屏边| 历史| 吉水县| 青冈县| 钟祥市| 江永县| 张掖市| 郯城县| 青神县| 乌什县| 广州市| 会昌县| 进贤县| 曲水县| 股票| 德江县| 湘乡市| 孝义市| 宜丰县| 司法| 灌阳县| 浠水县| 板桥市| 离岛区| 彭水| 焉耆| 朝阳市| 盐边县| 朔州市| 紫金县| 广宗县| 桑植县| 个旧市| 昌都县| 龙南县| 开远市| 镇雄县| 红桥区| 沾益县| 称多县|