doface (œuvre originale)
Quand on parle d'ASP, beaucoup de gens pensent qu'il s'agit d'une collection de scripts HTML, de certains codes entourés de <% et %>, et de certains scripts JAVASCRIPT, puis de l'ajout de toutes sortes de commentaires dans différents formats. , cela ressemble à un seul mot : chaos. Peu importe que d'autres puissent le comprendre ou non, tant qu'il peut atteindre son propre objectif, car le code ASP est aussi un script, il est impossible pour les clients de ne pas voir le contenu. Il est souvent inclus dans une partie. de l'entreprise dans la logique DLL, mais je pense toujours que le code ASP est le code le moins précieux. Vous pouvez toujours obtenir le style unique des éléments que d'autres ont travaillé dur pour écrire en consultant la source. code provenant de sites Web d'autres personnes. Ces raisons ont fait d'ASP un code facile à écrire et à oublier rapidement. La lisibilité et la maintenabilité sont également les pires parmi les différents langages.
En fait, le code ASP peut également être orienté objet et modulaire comme d'autres langages. De nombreuses pages peuvent être intégrées et encapsulées dans une classe, et différentes méthodes de la classe peuvent être utilisées pour afficher différentes pages. sous la même logique métier avec La logique est encapsulée dans une classe et implémentée à l'aide de différentes méthodes. Cela dit, peut-être que les idées de tout le monde sont confuses. Laissez-moi vous donner quelques exemples :
<%
'***************************************
'* Nom de classe : clsWebWorkFlowLog
'* Fonction :Classe de suivi des journaux de flux de travail
'* Historique :
'* Créé par : doface
'* Date : 2003/10/24 Ver 1.0
'* Modifications :
'* Date :
'*************** * ***********************
class clsWebWorkFlowLog
'Définir les propriétés publiques pour stocker les objets de connexion
Connexion Active publique
réponse privée
'=========================================
'= nom du processus : principal
'= Paramètres :
'= Fonction : fonction d'appel principale
'= effectuer différentes opérations en fonction de différents paramètres d'action
'= valeur de retour :
'=========================================
sous-main()
sélectionnez le cas Demande("acte")
cas "liste"
liste()
cas d'autre
liste()
fin de la sélection
fin du sous
'=========================================
'= nom du processus : liste
'= Paramètres :
'= Fonction : Afficher l'écran de liste
'= valeur de retour :
'=========================================
sous-liste()
ou
set oRs = ActiveConnection.execute("select *,(sélectionnez le nom dans wf_config où id=w.wf_id) comme wfname dans wf_log w où step_id=1 et user_id=" & session("usr")("uid"))
'(sélectionnez * dans wf_log où id dans (sélectionnez max(id),wf_id,tab_id,rec_id dans le groupe wf_log par wf_id,tab_id,rec_id où wf_id= et tab_id=))
%> <p align="left"><img border="0" src="../images/desk/workflow-new.gif" WIDTH="32" HEIGHT="32"><font color="# FF0000"><b>Tâches :</b></font></p>
<center>
<table bgColor="#FFFFFF" border="1" borderColorDark="#ffffff" borderColorLight="#c0c0c0" cellSpacing="0" width="99%" height="25">
<tr>
<td bgColor="#808080" height="15"><font color="#FFFFFF">Nom du processus</font></td>
<td bgColor="#808080" height="15"><font color="#FFFFFF">Candidat</font></td>
<td bgColor="#808080" height="15"><font color="#FFFFFF">Durée d'application</font></td>
<td bgColor="#808080" height="15"><font color="#FFFFFF">Délai d'achèvement</font></td>
<td bgColor="#808080" height="15"><font color="#FFFFFF">Statut</font></td>
<td bgColor="#808080" height="15"><font color="#FFFFFF">Opération</font></td>
</tr><%
faire sans oRs.eof
dim maxID,Next_id
si glbFunc.getMaxID(oRs("id").value,ActiveConnection,maxID,Next_id) alors
%><tr>
<td bgColor="#ffffff" height="19"><%=oRs("wfname")%></a></td>
<td bgColor="#ffffff" height="19"><%=session("usr"))("name")%> </td>
<td bgColor="#ffffff" height="19"><%=oRs("exetime")%> </td>
<td bgColor="#ffffff" height="19"> </td>
<td bgColor="#ffffff" height="19"><%=glbFunc.getCurZT(oRs("id").value,ActiveConnection)%></td>
<td bgColor="#ffffff" height="19"><p align="left"><a href="../PubExeTab/PubExeTab.asp?act=view&tab_id=<%=oRs("tab_id")% >&id=<%=oRs("rec_id")%>"><img src="../images/action/view.gif" border="0" alt="Détails" WIDTH="16" HEIGHT=" 16"></a> <a href="javascript:newin('wfimage.asp?act=list&id=<%=oRs("wf_id")%>&bz=1&step_id=<%=next_id%>', true,false,false,false,true);"><img src="../images/action/lcchuli.gif" border="0" alt="Suivi du processus" WIDTH="16" HEIGHT="16" </a> </p></td><%
finir si
%></tr><%
oRs.movenext
boucle
%></table>
</center>
<%
fin du sous
terminer le cours
'******************************************
'* Fin du cours
'******************************************
'******************************************
'La page ASP démarre
'******************************************
'En-tête HTML standard de sortie
glbFunc.writeHEAD
faible oWebWorkFlowLog
définir oWebWorkFlowLog = nouveau clsWebWorkFlowLog
définir oWebWorkFlowLog.ActiveConnection = glbFunc.getADOConnection
oWebWorkFlowLog.main
glbFunc.writeTail()
%>
D'autres méthodes peuvent être ajoutées afin que cette classe puisse compléter les fonctions de plusieurs fichiers ASP précédents. Lors de l'accès, vous pouvez le distinguer en ajoutant des paramètres (à quelle fonction vous souhaitez accéder) après .ASP.