doface (Originalwerk)
Wenn man über ASP spricht, denken viele Leute, dass es sich um eine Sammlung von HTML-Skripten, einigen in <% und %> eingeschlossenen Codes und einigen JAVASCRIPT-Skripten handelt. Solcher Code wird dann in verschiedenen Formaten hinzugefügt , es sieht aus wie ein Wort: Chaos. Es spielt keine Rolle, ob andere es verstehen können oder nicht, solange es seinen eigenen Zweck erreichen kann, da der ASP-Code auch ein Skript ist, ist es für Kunden unmöglich, den Inhalt nicht zu sehen. Er ist oft in einem Teil enthalten des Geschäfts in der DLL, aber ich bin immer noch der Meinung, dass ASP-Code der am wenigsten wertvolle Code ist, um ihn zu kaufen. Sie können immer den einzigartigen Stil von Dingen erhalten, an deren Schreiben andere hart gearbeitet haben Code von den Websites anderer Leute. Aus diesen Gründen hat sich ASP zu einem Code entwickelt, der leicht zu schreiben und schnell zu vergessen ist. Auch die Lesbarkeit und Wartbarkeit sind unter den verschiedenen Sprachen am schlechtesten.
Tatsächlich kann ASP-Code wie andere Sprachen auch objektorientiert und modular sein. Viele Seiten können in eine Klasse integriert und gekapselt werden, und verschiedene Methoden in der Klasse können verwendet werden, um verschiedene Seiten anzuzeigen unter derselben Geschäftslogik mit Die Logik wird in eine Klasse gekapselt und mit verschiedenen Methoden implementiert. Nachdem ich so viel gesagt habe, sind vielleicht alle Ideen verwirrt. Lassen Sie mich einige Beispiele nennen:
<%.
'****************************************
'* Klassenname: clsWebWorkFlowLog
'* Funktion :Workflow-Protokollverfolgungsklasse
'* Verlauf:
'* Erstellt von: doface
'* Datum: 24.10.2003 Ver 1.0
'* Änderungen:
'* Datum:
'*************** * *********************
class clsWebWorkFlowLog
'Definieren Sie öffentliche Eigenschaften zum Speichern von Verbindungsobjekten
öffentliche ActiveConnection
privateoResponse
'=======================================
'= Prozessname: main
'= Parameter:
'= Funktion: Hauptaufruffunktion
'= verschiedene Operationen basierend auf unterschiedlichen Aktionsparametern ausführen
'= Rückgabewert:
'=======================================
sub main()
Fall auswählen Request("act")
Fall „Liste“
Liste()
Fall anders
Liste()
Ende auswählen
Ende sub
'=======================================
'= Prozessname: Liste
'= Parameter:
'= Funktion: Listenbildschirm anzeigen
'= Rückgabewert:
'=======================================
Unterliste()
oder
set oRs = ActiveConnection.execute("select *,(select name from wf_config where id=w.wf_id) as wfname from wf_log w where step_id=1 and user_id=" & session("usr")("uid"))
'(select * from wf_log where id in (select max(id),wf_id,tab_id,rec_id from wf_log group by wf_id,tab_id,rec_id where wf_id= and tab_id=))
%> <p align="left"><img border="0" src="../images/desk/workflow-new.gif" WIDTH="32" HEIGHT="32"><font color="# FF0000"><b>Aufgabenelemente:</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">Prozessname</font></td>
<td bgColor="#808080" height="15"><font color="#FFFFFF">Bewerber</font></td>
<td bgColor="#808080" height="15"><font color="#FFFFFF">Anwendungszeit</font></td>
<td bgColor="#808080" height="15"><font color="#FFFFFF">Fertigstellungszeit</font></td>
<td bgColor="#808080" height="15"><font color="#FFFFFF">Status</font></td>
<td bgColor="#808080" height="15"><font color="#FFFFFF">Operation</font></td>
</tr><%
tun, während nicht oRs.eof
dimmen Sie maxID,Next_id
if glbFunc.getMaxID(oRs("id").value,ActiveConnection,maxID,Next_id) dann
%><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="Details" 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="Prozessverfolgung" WIDTH="16" HEIGHT="16" ></a> </p></td><%
Ende wenn
%></tr><%
oRs.movenext
Schleife
%></table>
</center>
<%
Ende sub
Klasse beenden
'*********************************************
'* Ende des Unterrichts
'*********************************************
'*********************************************
'ASP-Seite startet
'****************************************
'Standard-HTML-Header ausgeben
glbFunc.writeHEAD
dim oWebWorkFlowLog
set oWebWorkFlowLog = new clsWebWorkFlowLog
set oWebWorkFlowLog.ActiveConnection = glbFunc.getADOConnection
oWebWorkFlowLog.main
glbFunc.writeTail()
%>
Es können weitere Methoden hinzugefügt werden, sodass diese eine Klasse die Funktionen mehrerer vorheriger ASP-Dateien vervollständigen kann. Beim Zugriff können Sie es unterscheiden, indem Sie nach .ASP Parameter hinzufügen (auf welche Funktion Sie zugreifen möchten).