大規模なASPプロジェクトでは、多くのページにページターン機能が含まれます。各ページがページめくりプログラムを作成した場合、そのような作業は作業効率を低下させ、プロジェクトのモジュール化を助長せず、コードを再利用できません。したがって、ページターニングなどの関数をモジュール化する必要があります。
設計方法:
1.このモジュールを呼び出すとき、各ページに表示されるレコードセットとレコードの数を渡すだけでいい。
2.リンクをクリックしてページをターンするか、ページ番号を直接入力して、押した後にページをターンできます。
3.ファイル名を考慮しないでください。プログラムは、回転するたびに現在のページにあることがあります。
上記の3つの質問を考えた後、パブリックページターニングモジュールを開始できます。
<%
'++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
'◆モジュール名:パブリックページターンモジュール
'◆ファイル名:turnPage.asp
'◆着信パラメーター:RS_TMP(レコードセット)、Pagesize(ページごとに表示されるレコードの数)
'◆出力:レコードセットページターンディスプレイ機能
'++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
'
subturnPage(byrefrs_tmp、pagesize) 'rs_tmpレコードセット;ページサイズページごとに表示されるレコードの数。
dimtotalpage'totalページ
Dimpageno '現在表示されているページ
dimrecordCountのレコード数
rs_tmp.pagesize = pagesize
RecordCount = rs_tmp.RecordCount
TotalPage = int(RecordCount/Pagesize*-1)*-1
pageno = request.querystring( "pageno")
「ページ数を直接入力してジャンプします。
ifrequest.form( "pageno")<> "" thenpageno = request.form( "pageno")
「ページが選択されていない場合、最初のページはデフォルトで表示されます。
ifpageno = "" thenpageno = 1
ifrecordCount <> 0then
rs_tmp.absolutepage = pageno
endif
「現在のファイル名を取得して、すべてのページが現在のページで実行されるようにします。
dimfilename、位置
filename = request.servervariables( "script_name")
Posion = instrrev(filename、 "/")+1
「現在のファイル名を取得して、ページ旋回リンクが現在のファイルを指すようにします。
filename = mid(filename、posion)
%>
<Tableborder = 0Width = '100%'>
<tr>
<tdalign = left>合計ページ数:<fontcolor =#ff3333> <%= totalpage%> </font>ページ
現在のページ<fontcolor =#ff3333> <%= pageno%> </font>
<tdalign = "right">
<%ifrecordcount = 0ortotalpage = 1then
Response.Write「Home |前のページ|次のページ|最後のページ」
else%>
<ahref = "<%= filename%>?pageno = 1"> home | </a>