実はAJAXはJSを書くだけで実現できるものではなく、ある程度のプログラミング経験がないと、書いたとしてもアイデアが明確でなく、いざ作りたいときにどこから始めればよいのかわかりません。オブジェクト指向プログラミングに少し触れた後、ASP ページングのチュートリアルを書いたときに AJAX について言及したのはなぜでしょうか。プログラミングプロセスにおける構造の重要性についてさらに練習します。
また、多くの友人はページングについて深い思い入れを持っているため、他の人が書いたコンポーネントを使用するか、特に .net を開発するときにそれを変更することを敢えてしません。プロジェクトとしては、.net は非常に優れたプラットフォームだと思います。厳しく管理されているため、初心者はプログラミングの概念に入ることができず、ブロックを積み上げているかのようにプログラミングの感覚をまったく見つけることができません。場合によっては、個人の技術的能力を高めるために低レベルの練習が必要になることがあります。改善できる。私は .NET しか使えないアセンブラにはなりたくない。
さて、これは誰にとってもASPページングのソースコードです。詳細にコメントされており、ほぼ理解できます。
これはチュートリアルなので、最も単純なものから始めます。AbsolutePage を直接使用して現在のページを定義します。そのため、MoveFirst などのより複雑なカーソル メソッドは使用しません。また、ページングにはドロップダウン選択ボックスも使用します。次のチュートリアルを待ちます。別の高度なページング方法を作成して、10 ページ進み、10 ページ戻り、現在の 10 ページ グループのみを表示する方法を説明します。
ASP は古いものですが、JS で書けるので、プロジェクトの DEMO をやる場合には、大規模な環境をインストールする必要がなく、簡単に設定するだけなので、.NET や JAVA よりも便利だと感じます。本当に大規模なプロジェクトを開発する必要がある場合は、効率の問題が伴うため、間違いなく .NET または JAVA を使用します。
次のようにコードをコピーします。
<%@LANGUAGE=JAVASCRIPT コードページ=936%>
<%
//データベース接続ステートメントを定義します
var connstring = プロバイダ=Microsoft.Jet.OLEDB.4.0;データ ソース=
+Server.MapPath(データベース/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.ロックタイプ = 1
//各ページに表示されるデータの量を定義します
rs.ページサイズ = 10
//データベース接続を開く
rs.Open()
//データベースレコードの総数、ページの総数、URL パスを定義します
var カウント、pagecos、thisUrl
カウント = rs.RecordCount
pagecos = rs.PageCount
thisUrl = リクエスト.サーバー変数(URL)
//カーソルがテーブル内にある場合に実行
if(!rs.EOF || !rs.BOF){
//URLのページパラメータが空でない場合に実行
if(リクエスト(ページ).カウント!= 0){
//デフォルトのリンク文字列、最初のページ、最後のページ、前のページ、次のページを定義します
// URL のページ値 (指定された現在のページ)、現在のページ、各ページに表示されている現在のデータ数
var defaltStr,firstpage,lastpage,prepage,nextpage,pages,nowPage,nowSize
defaltStr = '<a href='+thisUrl+'?page='
firstpage = defaltStr+'1>ホームページ</a>'
lastpage = defaltStr+pagecos+'>最後のページ</a>'
ページ = リクエスト(ページ)
//最初のページにある場合
//ホームページ、前のページはリンクではありません
if(ページ <= 1){
rs.AbsolutePage = 1;
firstpage = 'ホームページ'
prepage = '前のページ'
nextpage = defaltStr+'2>次のページ</a>'
//最後のページにある場合
//最後のページ、次のページはリンクではありません
}else if(ページ数 >= ページコ数){
rs.AbsolutePage = pagecos;
prepage = defaltStr+(pagecos-1)+'>前のページ</a>'
lastpage = '最後のページ'
nextpage = '次のページ'
}それ以外{
rs.AbsolutePage = ページ数
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 cellpacing=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>
<%
}それ以外{
%>
<オプション値=<%=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();
}
%>
</テーブル>
<%
//データベースカーソルがデータベース列にない場合
}それ以外{
Response.Write(ユーザー情報なし!)
}
//データベース接続を閉じる
rs.Close()
%>