Parce que j'ai un CMS relativement mature, je n'ai jamais abandonné l'ASP. J'ai toujours voulu le réécrire en utilisant .net, mais c'est une autre histoire. jqGrid est un excellent framework DataGrid basé sur jQuery, que tout le monde doit connaître. Il y a très peu d'informations basées sur ASP sur Internet. Je vais en fournir une. Le format de données est json :
, une classe json pour jqGrid : ce code semble être converti à partir de PHP dans le forum du site officiel. Nous l'enregistrons sous json.asp et collons le code :
Copiez le code comme suit :
<%
réponse.Charset=utf-8
'---------------------------------------
'Classe JSONClass
' Convertir le résultat de l'exécution de l'instruction Select en JSON
'---------------------------------------------
ClasseJSONClass
'Définir les attributs de classe, la valeur par défaut est Privée
Dim SqlString 'utilisé pour définir Select
Dim JSON 'Le nom de l'objet JSON renvoyé
Dim DBConnection 'Objet de connexion à la base de données
'Méthodes publiques pouvant être appelées en externe
Fonction publique GetJSON()
faible Rs
dim returnStr
je suis faible
dim unEnregistrement
'Obtenir des données
Définir Rs = Server.CreateObject (ADODB.Recordset)
Rs.open SqlString,DBConnection,1,1
si page<> alors
epage=cint(page)
si epage<1 alors epage=1
si epage>rs.pagecount alors epage=rs.pagecount
autre
page=1
finir si
rs.pagesize = lignes
rs.absolutepage = epage
' Générer une chaîne JSON
si Rs.eof=false et Rs.Bof=false alors
returnStr={ total : & rs.pagecount &, page : & page &, enregistrements : & rs.recordcount &, lignes : [
pour j=0 à rs.pagesize-1
si rs.bof ou rs.eof alors quittez pour
'------
'oneRecord = {id : & chr(34) &Rs.Fields(0).Value&chr(34)&,cell :[& chr(34) &Rs.Fields(0).Value&chr(34)&,
oneRecord = {id : & chr(34) &Rs.Fields(0).Value&chr(34)&,cell :[& chr(34) &Rs.Fields(0).Value&chr(34)&,
pour i=1 à Rs.Fields.Count -1
'oneRecord=oneRecord & chr(34) &Rs.Fields(i).Nom&chr(34)& :
oneRecord=oneRecord & chr(34) &Rs.Fields(i).Value&chr(34) &,
Suivant
'Après avoir supprimé le dernier champ de l'enregistrement,
oneRecord=gauche(oneRecord,InStrRev(oneRecord,,)-1)
unEnregistrement=unEnregistrement & ]},
'-------------
returnStr=returnStr & oneRecord
Rs.MoveNext
suivant
' Après avoir supprimé tous les tableaux d'enregistrements,
returnStr=gauche(returnStr,InStrRev(returnStr,,)-1)
returnStr=returnStr & ]}
finir si
Rs.fermer
définir Rs = Rien
GetJSON = returnStr
Fonction de fin
'Méthode privée, utilisée en classe
Vérification de fonction privée()
Fonction de fin
'
Fin du cours
%>
2. Créez un fichier asp qui affiche des données, telles que : list.asp, le code est le suivant
Copiez le code comme suit :
<!--#include file=conn.asp -->
<!--#include file=json.asp -->
<%
page sombre, lignes, sidx, sord
page = request.QueryString(page) 'page
lignes = request.QueryString(rows) 'pagesize
sidx = request.QueryString(sidx) 'ordre par ??
sord = requête.QueryString(sord)
si page= alors page = 1 fin si
si lignes = alors lignes = 10 fin si
si sidx = alors sidx = id fin si
si sord = alors sord =asc fin si
Dim strSearchOn, strField, strFieldData, strSearchOper, strWhere
strSearchOn = Requête (_search)
Si (strSearchOn = true) Alors
strField = Requête (champ de recherche)
Si (strField = id Ou strField = Titre Ou strField = NickName) Alors
strFieldData = Requête (chaîne de recherche)
strSearchOper = Requête (searchOper)
'construire où
strOù = Où & strField
Sélectionnez le cas strSearchOper
Cas bw : 'Commencer par
strFieldData = strFieldData & %
strOù = strOù & LIKE ' & strFieldData & '
Éq. cas : 'Égal
Si (IsNumeric (strFieldData)) Alors
strOù = strOù & = & strFieldData
Autre
strOù = strOù & = ' & strFieldData & '
Fin si
Cas ne : « Pas égal
Si (IsNumeric (strFieldData)) Alors
strOù = strOù & <> & strFieldData
Autre
strOù = strOù & <> '& strFieldData &'
Fin si
Cas lt : « Moins de
Si (IsNumeric (strFieldData)) Alors
strOù = strOù & < & strFieldData
Autre
strOù = strOù & <'& strFieldData &'
Fin si
Cas le : « Moins ou égaux
Si (IsNumeric (strFieldData)) Alors
strOù = strOù & <= & strFieldData
Autre
strOù = strOù & <= '& strFieldData &'
Fin si
Cas gt : « Supérieur à
Si (IsNumeric (strFieldData)) Alors
strOù = strOù & > & strFieldData
Autre
strOù = strOù & > '& strFieldData &'
Fin si
Cas ge : « Supérieur ou égal
Si (IsNumeric (strFieldData)) Alors
strOù = strOù & >= & strFieldData
Autre
strOù = strOù & >= '& strFieldData &'
Fin si
Nouveau cas : 'Terminer avec
strOù = strOù & LIKE '% & strFieldData & '
Cas cn : 'Contient
strOù = strOù & LIKE '% & strFieldData & %'
Fin de la sélection
Terminer si
Fin si
serveur.ScriptTimeout=9000
atténuer un
définir a = nouvelle classe JSON
a.Sqlstring=Sélectionner l'identifiant, le titre, le pseudo, le mot de passe, le dernier moment de connexion depuis l'administrateur&strWhere& &order by & sidx & & sord
a.dbconnection=conn
réponse.Write(a.GetJSon())
conn.close()
définir la connexion = rien
%>
Le code de recherche y est couvert. Cela implémente essentiellement la lecture. Quant au fichier editurl dans jqGrid, nous l'appelons edit.asp. Le code est le suivant :
Copiez le code comme suit :
<%Option explicite%>
<!--#include file=config.asp-->
<%
Dim strOper, strID, strNickName, strTitle, strPwd
strOper = Requête (opérateur)
strID = Remplacer (Demande (Id),','')
strTitle = Remplacer (Demande (Titre),','')
strNickName = Remplacer (Requête (Pseudo),','')
strPwd = Remplacer (Demande (Mot de passe),','')
Sélectionnez Case strOper
Ajout de cas : « Ajouter un enregistrement
strSQL = Insérer dans l'administrateur (Titre, NickName, Pwd, LastLoginTime) Valeurs ('&strTitle&', '&strNickName&', '&strPwd&',Now())
Modification de cas : « Modifier l'enregistrement
strSQL = Mettre à jour l'ensemble d'administration />Case del : 'Supprimer l'enregistrement
strSQL = Supprimer de l'administrateur où id = &strID
Fin de la sélection
'réponse.Écrire strSQL
Faible strSQL,rs
AppelOpenDB()
Définir rs = Conn.Execute(strSQL)
Appelez CloseDB()
%>
Ceci est le code index.html du frontend
Copiez le code comme suit :
<!DOCTYPE html PUBLIC -//W3C//DTD XHTML 1.0 Transitional//EN http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd>
<html xmlns=http://www.w3.org/1999/xhtml>
<tête>
<meta http-equiv=Content-Type content=text/html; charset=utf-8 />
<titre>ASP_jqGrid_Test</titre>
<link rel=stylesheet type=text/css href=jquery-ui-1.7.2.custom.css/>
<link rel=stylesheet type=text/css href=jqgrid.css/>
<link rel=stylesheet type=text/css href=ui.multiselect.css/>
<script type=text/javascript src=js/jquery.js></script>
<script type=text/javascript src=js/cn.js></script>
<script type=text/javascript src=js/jqGrid.js></script>
</tête>
<corps>
<table id=DataGrid class=scroll></table>
<div id=pager class=scroll style=text-align:center;></div>
</corps>
</html>
<type de script=texte/javascript>
jQuery(#DataGrid).jqGrid({
URL : 'liste.asp',
type de données : json,
colNames : ['ID', 'Compte administrateur', 'Pseudo administrateur', 'Mot de passe', 'Dernière heure de connexion'],
colModèle :[
{
nom : 'Id',
index : 'Id',
largeur:50
},
{
nom : 'Titre',
index : 'Titre',
modifiable : vrai,
règles d'édition :{
obligatoire : vrai
}
},
{
nom : 'Pseudo',
index : 'Pseudo',
modifiable : vrai,
règles d'édition :{
obligatoire : vrai
}
},
{
nom : 'Pwd',
index : 'Mot de passe',
modifiable : vrai,
type d'édition : 'mot de passe',
caché : vrai,
options d'édition :{
taille:20
},
règles d'édition :{
édition cachée : vrai
}
},
{
nom : 'Dernière heure de connexion',
index : 'Dernière heure de connexion',
aligner :
règles d'édition :{
obligatoire : vrai
}
} ], légende : Liste des administrateurs,
imgpath:'/images',
sélection multiple : vrai,
numéro de ligne : 20,
liste de lignes : [10,20,30],
téléavertisseur : jQuery('#pager'),
nom de tri : 'Id',
viewrecords : vrai,
ordre de tri:desc,
hauteur:400,
largeur:600,
editurl: modifier.asp
});
$('#DataGrid').navGrid('#pager',{
rafraîchir : vrai,
modifier : vrai,
ajouter : vrai,
del : vrai,
recherche : vrai,
texte de recherche : recherche,
edittext : modifier, addtext : ajouter, deltext : supprimer
});
</script>
jqGrid, du bon matériel~~