En fait, AJAX n'est pas quelque chose qui peut être réalisé simplement en écrivant du JS. Vous devez quand même avoir une certaine expérience en programmation, sinon, même si vous l'écrivez, l'idée n'est pas claire et vous ne saurez pas par où commencer lorsque vous voudrez le créer. changements à l'avenir..Ainsi, après être brièvement entré en contact avec la programmation orientée objet, j'ai senti qu'il n'était vraiment pas facile de bien réussir en AJAX. Pourquoi ai-je mentionné AJAX lorsque j'ai écrit le didacticiel de pagination ASP ? pratiquez davantage sur l’importance de la structure dans le processus de programmation.
De plus, de nombreux amis ont des sentiments profonds à propos de la pagination, ils n'ont donc jamais osé y toucher. Soit ils utilisent des composants écrits par d'autres, soit ils modifient les éléments d'autres personnes. Surtout pour .net, je ressens profondément que si vous voulez développer rapidement. un projet, je pense que .net est une très excellente plateforme. Cependant, Parce qu'il est fortement contrôlé, les novices ne peuvent pas entrer dans l'idée de la programmation et ne peuvent pas du tout trouver le sentiment de programmer, comme s'il s'agissait de blocs de construction. Parfois, vous avez encore besoin de pratiquer des choses de bas niveau, afin d'améliorer vos capacités techniques personnelles. peut être amélioré. Améliorez-vous. Je ne veux pas être un assembleur qui ne peut utiliser que .NET.
D'accord, voici le code source de la pagination ASP pour tout le monde. Il a été commenté en détail et peut généralement être compris.
Comme il s'agit du premier didacticiel, je vais commencer par le plus simple. J'utilise directement AbsolutePage pour définir la page actuelle, je n'utilise donc pas de méthodes de curseur plus compliquées telles que MoveFirst, et j'utilise également des zones de sélection déroulantes pour la pagination. . J'attendrai le prochain tutoriel. J'écrirai une autre méthode de pagination avancée, donnant une méthode pour avancer de dix pages, revenir en arrière de dix pages et afficher uniquement le groupe de dix pages actuel.
Bien qu'ASP soit une chose obsolète, car il peut être écrit en JS, je pense que lors de la réalisation d'un projet DEMO, utiliser ASP est plus pratique que .NET ou JAVA, car il n'est pas nécessaire d'installer un environnement énorme. Simple Il suffit de le configurer. Si vous avez vraiment besoin de développer un projet à grande échelle, j'utiliserai certainement .NET ou JAVA, car cela entraînera des problèmes d'efficacité.
Copiez le code comme suit :
<%@LANGUAGE=JAVASCRIPT CODEPAGE=936%>
<%
//Définir l'instruction de connexion à la base de données
var connstring = Fournisseur = Microsoft.Jet.OLEDB.4.0; Source de données =
+Serveur.MapPath(base de données/vote.mdb);
//Créer une requête de base de données rs
var rs = Serveur.CreateObject(ADODB.Recordset)
// méthode de connexion rs
rs.ActiveConnection = chaîne de connexion
//Instruction de requête rs (requête dans l'ordre inverse de l'heure de soumission de l'utilisateur)
rs.Source = sélectionner * parmi les utilisateurs triés par temps d'utilisation DESC
//Définir le mode de requête de la base de données
rs.CursorType = 3
rs.CursorLocation = 3
rs.LockType = 1
//Définit la quantité de données affichées sur chaque page
rs.PageSize = 10
//Ouvrir la connexion à la base de données
rs.Open()
//Définissez le nombre total d'enregistrements de la base de données, le nombre total de pages et le chemin de l'URL
var compte,pagecos,thisUrl
comptes = rs.RecordCount
pagecos = rs.PageCount
thisUrl = Requête.ServerVariables (URL)
//Exécuter si le curseur est dans le tableau
si(!rs.EOF || !rs.BOF){
//Exécuter si le paramètre page de l'url n'est pas vide
if(Demande(page).Count != 0){
//Définit la chaîne de lien par défaut, première page, dernière page, page précédente, page suivante
//La valeur de la page de l'URL (la page actuelle spécifiée), la page actuelle, le nombre actuel de données affichées sur chaque page
var defaltStr, première page, dernière page, prépage, page suivante, pages, maintenantPage, maintenantTaille
defaltStr = '<a href='+thisUrl+'?page='
firstpage = defaltStr+'1>Page d'accueil</a>'
lastpage = defaltStr+pagecos+'>Dernière page</a>'
pages = Demande (page)
//Si c'est sur la première page
//Page d'accueil, la page précédente n'est pas un lien
si(pages <= 1){
rs.AbsolutePage = 1 ;
firstpage = 'Page d'accueil'
prépage = 'page précédente'
nextpage = defaltStr+'2>Page suivante</a>'
//Si c'est sur la dernière page
//Dernière page, la page suivante n'est pas un lien
}sinon si(pages >= pagecos){
rs.AbsolutePage = pagecos;
prepage = defaltStr+(pagecos-1)+'>Page précédente</a>'
dernière page = 'dernière page'
page suivante = 'page suivante'
}autre{
rs.AbsolutePage = pages
prepage = defaltStr+(Number(pages)-1)+'>Page précédente</a>'
nextpage = defaltStr+(Number(pages)+1)+'>Page suivante</a>'
}
}
maintenantPage = rs.AbsolutePage
maintenantSize = rs.PageSize
//Si c'est sur la dernière page et que le nombre de données affichées n'est pas égal au nombre de données affichées sur chaque page
//Parce que la dernière page ne peut pas être exactement égale à la quantité de données affichées sur chaque page à chaque fois
//Vous devez donc définir une méthode inégale
if(nowPage >= pagecos && (pagecos*rs.PageSize)%counts != 0){
nowSize = compte%rs.PageSize
}
%>
<table width=100% border=0 Cellpacing=0 cellpadding=0 class=userinfo>
<tr>
<td align=centre>
<!--Afficher la page d'accueil, la page précédente-->
<%=firstpage%> <%=prepage%>
Accédez à <select onchange=location.href='<%=thisUrl%>?page='+this.value>
<%
//La pagination repose sur l'affichage en boucle
pour(var num=1; num<=pagecos; num++){
si (maintenantPage == num){
%>
<option value=<%=num%> selected=selected><%=num%></option>
<%
}autre{
%>
<valeur d'option=<%=num%>><%=num%></option>
<%
}
}
%>
Page </sélectionner>
<!--Afficher la page suivante, la dernière page-->
<%=page suivante%> <%=dernière page%>
<!--Afficher le numéro de la page actuelle, le nombre total de pages, le nombre total d'enregistrements et le nombre de données affichées sur chaque page-->
Total <%=nowPage%> / <%=pagecos%> page<%=counts%> / <%=rs.PageSize%> enregistrements
</td>
</tr>
<%
//Le contenu est affiché en boucle
pour(var i=1;i<=nowSize;i++){
%>
<tr>
<td><span>IP de l'utilisateur :</span><%=rs(usip)%></td>
</tr>
<tr>
<td><span>Suggestion :</span><%=rs(us1)%></td>
</tr>
<tr>
<td><span>Heure de soumission :</span><%=rs(usetime)%></td>
</tr>
<%
//Le curseur de la base de données passe à l'enregistrement suivant
rs.MoveNext();
}
%>
</table>
<%
//Si le curseur de la base de données n'est pas dans la colonne de la base de données
}autre{
Response.Write (Aucune information utilisateur !)
}
//Fermer la connexion à la base de données
rs.Fermer()
%>