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

首頁 > 編程 > ASP > 正文

ASP ajax分頁教程一

2024-05-04 11:09:09
字體:
來源:轉載
供稿:網友
其實AJAX不是那么簡單地寫寫JS就可以做到的,你必須還是要有一定的編程經驗,否則就算寫出來了,思路很不清晰不說,將來要改動的時候都不知道從什么地方下手.所以在我簡單接觸了面向對象編程后,感覺AJAX要做好真的不容易.
 
 
 
為什么我寫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() 
%> 

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 馆陶县| 连云港市| 酒泉市| 天峨县| 鱼台县| 香河县| 夹江县| 新民市| 曲靖市| 淳化县| 灵丘县| 鲁甸县| SHOW| 泽州县| 织金县| 剑阁县| 南木林县| 静宁县| 合阳县| 郧西县| 云阳县| 柯坪县| 平定县| 宿松县| 兴仁县| 玛沁县| 伊春市| 成都市| 行唐县| 辰溪县| 陇西县| 凤庆县| 乳山市| 沙洋县| 会理县| 古丈县| 柳州市| 栾川县| 专栏| 通许县| 阿鲁科尔沁旗|