透徹掌握ASP分頁技術
近段時間看了一些論壇上面關于分頁的ASP程序依然有許多的關注者 但里面只有代碼 沒有詳細的解釋 對于初學者來說 這樣總是得不到真正的掌握 此次我將針對分頁技術進行詳解 讓大家來理解ASP分頁 好了 一起來對分頁程序來次透徹的了解吧!
首先 來看看效果 !
看看功能 分頁程序首先讀取每頁預置的記錄條數(shù) 在此是 條 其它將在下頁中顯示 同時提示當前頁數(shù) 總頁數(shù) 總記錄數(shù) 當顯示的頁數(shù)為第一頁時 首頁 上一頁 鏈接失效 當顯示的頁數(shù)為最后頁時 下一頁 尾頁 鏈接失效
接下來 以實例的方式告訴大家怎么一步步的做出這種分頁效果
首先 數(shù)據(jù)庫中字段record_info存在于info表中(實例下載中有數(shù)據(jù)庫) 先鏈接數(shù)據(jù)庫并將一個記錄集打開 以下代碼
<%Set conn=Server CreateObject( Adodb Connection )connstr= provider=Microsoft JET OLEDB ;Data Source= &Server MapPath( data mdb )conn open connstrSet rs=Server CreateObject( Adodb Recordset )sql= Select * from info rs open sql conn %>
這段代碼不詳解 相信初入門的都會 具體的解釋可以看看《手把手教你用ASP做留言本》教程
接下來這是分頁中比較重要的部分 了了三行而已
<%rs pagesize= curpage=Request QueryString( curpage )rs absolutepage=curpage%>
第二句 rs pagesize= 這個什么意思呢?它就是在Recordset對象中的一個內置屬性 它的作用是指定每頁的記錄條數(shù) 設置為 時 每 條記錄放在一起成一頁 比如實例 *** 有 條記錄 那么 使用rs pagesize分頁后 這 條記錄將分成 頁進行顯示
第三句 這里主要是用于翻頁的功能 將URL的post參數(shù)curpage傳遞給curpage變量 這個curpage將得到瀏覽者想要到達的頁數(shù) (運行一下實例就會明白)
第四句 rs absolutepage 這個也是個內置的屬性 它代表的意思就是將curpage變量的數(shù)值指定為當前頁
現(xiàn)在開始可以讓記錄循環(huán)顯示了
<%for i= to rs pagesizeif rs eof thenexit forend if%><%=rs( record_info )%><br><%rs movenextnext%>
第二句 利用for循環(huán)在每頁顯示rs pagesize屬性中指定的記錄數(shù)
第三 四 五句 這句意思是當最后一頁達不到指定記錄時就退出循環(huán) 以免出錯
第七句 綁定從數(shù)據(jù)庫取出的record_info字段 就是叫這字段內的記錄循環(huán)顯示的
第九句 用rs movenext方法將rs記錄集往下移一條記錄
第十句 for循環(huán)語句
另外可以用<%=curpage%>讀出當前頁次 用<%=rs pagecount%>讀出總頁數(shù) 用<%=rs recordcount%>讀出總記錄數(shù) 例如 當前第<%=curpage%>頁 共有<%=rs pagecount%>頁 共有 <%=rs recordcount%>條記錄
在顯示首頁 上頁 下頁 尾頁功能上 采用了if else 語句 比較好懂
<%if curpage= then%>首頁<%else%><a >首頁</a><%end if%>
<%if curpage= then%>上一頁<%else%><a ?curpage=<%=curpage %> >上一頁</a><%end if%>
<%if rs pagecount<curpage+ then%>下一頁<%else%><a ?curpage=<%=curpage+ %> >下一頁</a><%end if%>
<%if rs pagecount<curpage+ then%>尾頁<%else%><a ?curpage=<%=rs pagecount%> >尾頁</a><%end if%>
首頁 這個使用當前頁是否為第一頁時判別 如果當前為第一頁(也就是首頁) 那么顯示首頁兩字 沒有鏈接 否則提供直接跳轉到首頁的鏈接 上一頁 當前為第一頁時 鏈接失效 反過來 鏈接到當前面的上一頁 這里使用 <%=curpage %> 就是用當前的頁數(shù)減去 得到上一頁 下一頁 這里需要使用rs pagecount這個屬性來比較 假如總頁數(shù)小于當前頁數(shù)加 的值 那表明這就是第后一頁 鏈接將失效 否則鏈接到下一頁 尾頁 和下一頁的功能一樣判定出是最后頁時鏈接失效 否則將當前頁指定為rs pagecount(總頁數(shù)) lishixinzhi/Article/program/net/201311/11613
透徹掌握ASP分頁技術
第二句 rs pagesize= 這個什么意思呢?它就是在Recordset對象中的一個內置屬性 它的作用是指定每頁的記錄條數(shù) 設置為 時 每 條記錄放在一起成一頁 比如實例 *** 有 條記錄 那么 使用rs pagesize分頁后 這 條記錄將分成 頁進行顯示 第三句 這里主要是用于翻頁的功能 將URL的post參數(shù)curpa...
ASP的分頁如何弄?
要實現(xiàn)ASP.NET中的分頁功能,首先需要設置數(shù)據(jù)集的每頁記錄數(shù),可以通過設置rs.PageSize來實現(xiàn),例如設置為10。接著,通過設置當前所在頁數(shù)來獲取當前頁面的記錄,可以使用rs.AbsolutePage屬性,比如設置為1來獲取第一頁的記錄。實現(xiàn)過程可以參考以下鏈接,這里有詳細的教程幫助理解:http:\/\/www.21shipin.com...
asp.NET分頁如何實現(xiàn)?
1、首先來了解Asp.Net分頁控件——AspNetPager以及控件的屬性。CurrentPageIndex\/\/當前頁數(shù)(頁碼)RecordCount \/\/總數(shù)據(jù)條數(shù) PageSize \/\/每頁數(shù)據(jù)條數(shù) PageCount \/\/總的頁數(shù) 當然還有一些特別“人性化”的屬性可以設置。2、接下來就是給控件屬性賦值就可以了,通過Sql語句查詢到數(shù)據(jù)庫中的數(shù)據(jù),SqlDataAdapter...
asp的網(wǎng)站文章字數(shù)太多怎么實現(xiàn)分頁
有二個方法:一個是通過往內容里添加分頁標簽,在前臺讀取內容的時候用數(shù)組分頁 split()好像是這個函數(shù)。另外一個是通過js來實現(xiàn)分頁,js好像是讀取字數(shù)的。可能會導致頁面錯位。
asp長文章分頁
''分頁的原理:'1 在內容里插入分頁的標識 '2 按內容的字數(shù)進行分頁 '3 {#PageCon#}必須手動在文章內插入 '4 Content:內容, Page :頁碼 ,Url:路徑 調用方法:ShowPage Content,Page,Url 'Sub ShowPage(Content,Url)Dim SplitContent,Page Page=Request.QueryString("Page")If Not IsNume...
asp數(shù)字分頁
ASP分頁是比較常見的功能,尤其是“首頁 上一頁 [1][2][3][4][5][6][7][8][9][10] 下一頁 尾頁”這種效果的數(shù)字分頁,下邊是實現(xiàn)代碼供大家參考:<%@LANGUAGE="VBSCRIPT" CODEPAGE="936"%> <!DOCTYPE HTML PUBLIC "-\/\/W3C\/\/DTD HTML 4.01 Transitional\/\/EN" "http:\/\/www.w3....
aspcms新聞列表如何分頁
下面這個ASP頁面的例子是按內容分頁。你可以運行它,看看你是否想要這個代碼。數(shù)據(jù)源=\/內容總字節(jié)數(shù) pagenum=900總頁數(shù) requestpage=clng(請求(接收頁碼 ifrequestpage=獲取默認頁碼。requestpage=1 如果?就會結束 ifrequestpage當當前頁面的頁碼大于最大頁碼時,使當前頁碼等于最大頁碼。requestpage=maxpage...
asp長文章分頁
建議手動分頁!在內容上加特殊符號如“|||”遇到這個符號就自動分行。舉個簡單的例子吧:文章內容為 <%sContent="abc|||123|||456"'當然三個|||是自己手動加的,就是您想分頁的地方,ContentStr=split(sContent,"|||")if request("page")="" then pagenum=0 else if cint(request("page"...
asp.net 怎么分頁
當GridView中顯示的記錄很多的時候,可以通過GridView的分頁功能來分頁顯示這些記錄。如果GridView是直接綁定數(shù)據(jù)庫,則很簡單:只要點擊GridView空間左上角的小三角形,再彈出的選項中,將"啟動分頁"打上勾即可。 如果是用代碼實現(xiàn),則需要這么做: 1、允許分頁:設置AllowPaging=True; 2、設置...
asp如何分頁顯示
'樓主可以建立索引,查詢速度就會提高 <% Response.Buffer=False %> < Dim connstr connstr="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("mychanpin.mdb")set bb = server.CreateObject("ADODB.Connection")bb.Open connstr > 每日銷售情況 < set rs = server.Crea...
相關評說:
九臺市球面: ______ 1.這是第一種解決方法,也是最簡單的方法之一,只需要在后臺插入分頁符就行.<% '處理接收分頁得參數(shù),顯示頁數(shù) 也就默認第一頁 aa="sdfsdfsdgf|||gfdgdfgdfsd|||fdfsdfdfdfd" if Request("page")="" then pageNum=0 '下面就是page接參...
九臺市球面: ______ 首先,在打開數(shù)據(jù)表時,應作的操作 <% set rs=server.CreateObject("adodb.recordset") sql="select * from News order by id desc" rs.open sql,conn,1,1 rs.pagesize=14 pagecount=rs.PageCount page=cint(request.querystring("page")) if ...
九臺市球面: ______ 你要懂得多表聯(lián)查,那我就教你分頁拉:第一 要用到分頁控件aspnetPage 示例如下 第二 在數(shù)據(jù)訪問層添加以下兩個方法 //查詢總記錄數(shù) public static int GetGoodsCount() { string sql = "select count(*) from goods "; return Convert.ToInt32(...
九臺市球面: ______ 在要分頁的地方插入1個標記,以后就從該標記處分頁!也可以用len函數(shù),截取1定長度的文字!
九臺市球面: ______ 上一條:"&rs("title")&"") end if %> 下一條:"&rs("title")&"") end if %>
九臺市球面: ______ <%'=============分頁定義開始,可放在數(shù)據(jù)庫打開前或后dim actionaction=request.QueryString("action") ConstMaxPerPage=6 '定義每頁顯示記錄數(shù),可根據(jù)實際自定義dimtotalPut dim CurrentPagedim TotalPagesdim sqlif Not isempty(...
九臺市球面: ______ '==============分頁函數(shù)==================== '采用ASP編寫,iCount數(shù)據(jù)記錄數(shù),pagecount總頁數(shù),page當前頁數(shù) function PageControl(iCount,pagecount,page) dim query, url, x, temp ,action,check50,check100,check300,check500,...
九臺市球面: ______ 那你可以用SQL語句分頁的方式,把頁碼傳給SQL 采用top 每面顯示的記錄數(shù)*頁碼的方式來進行分頁
九臺市球面: ______ CREATE proc getdataset @TableList Varchar(200)='*',--搜索表的字段,比如:'id,datatime,job',用逗號隔開 @TableName Varchar(30), --搜索的表名 @SelectWhere Varchar(500)='',--搜索條件,這里不用寫where,比如:job='teacher...
九臺市球面: ______ protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { DataBinder(); } } static int i = 0; //為了實現(xiàn)分頁那么需要手工綁定數(shù)據(jù); private void DataBinder() { PagedDataSource pds = new PagedDataSource(); pds.PageSize = 5;...