Das Wichtigste beim Erlernen von ASP ist die Beherrschung der sechs integrierten Objekte von ASP. Wenn Sie noch nie damit in Berührung gekommen sind, sind Sie klug genug, diese Konzepte zu ignorieren und einfach zu wissen, wie man sie verwendet dass der Schlüssel zum Erlernen von ASP zu Beginn darin besteht, es zu kopieren. Das Wichtigste ist, die sechs integrierten Objekte von ASP zu beherrschen. Tatsächlich haben wir in der vorherigen Vorlesung bereits etwas über das Response-Objekt und die am häufigsten verwendeten Write-Methoden, Redirect-Methoden und Expires-Eigenschaften im Response-Objekt gelernt. Wenn Sie die Konzepte von Objekten, Methoden, Eigenschaften, Sammlungen und Ereignissen sehen (ich kenne keines davon!), sind Sie schlau und kümmern sich nicht um diese Konzepte, wenn Sie noch nie zuvor mit ihnen in Kontakt gekommen sind. Ich bin der Meinung, dass es nur der Anfang ist. Der Schlüssel liegt im Kopieren. Lassen Sie uns das Request-Objekt anhand von Beispielen weiter erlernen. Um unser Verständnis zu vertiefen, führen Sie bitte diese Programme aus, um die Ausgabeergebnisse anzuzeigen.
1. Verwenden Sie Request.ServerVariables, um Umgebungsvariablen abzurufen. Dieser Teil ist sehr einfach, aber der erhaltene Inhalt ist sehr wichtig. Bitte sehen Sie sich das folgende Beispiel an:
Kopieren Sie den Codecode wie folgt:
<%@ Language=VBScript %>
<HTML><KÖRPER>
<% 'wuf8.asp
Response.Write Pfad zum Ausführen der ASP-Datei: &_
Request.ServerVariables(Script_Name) & <Br>
Response.Write gibt die Datenlänge des Inhalts zurück: &_
Request.ServerVariables(Content_Length) & <Br>
Response.Write gibt die IP-Adresse des Clients zurück: &_
Request.ServerVariables(Remote_Addr) & <Br>
Response.Write-Browsername: &_
Request.ServerVariables(HTTP_USER_AGENT) & <Br>
Response.Write gibt den tatsächlichen physischen Pfad zur Homepage zurück: &_
Request.ServerVariables(APPL_PHYSICAL_PATH) & <Br>
%>
<table colspan=8 cellpadding=5 border=0>
<tr>
<td align=CENTER bgcolor=#800000 width=109> <font style=ARIAL NARROW color=#ffffff size=2>Name der Umgebungsvariablen</font></td>
<td align=CENTER width=459 bgcolor=#800000> <font style=ARIAL NARROW color=#ffffff size=2>Inhalt</font></td>
</tr>
<tr>
<td bgcolor=f7efde align=CENTER> <font style=ARIAL NARROW size=2>
Ergebnis1
</font></td>
<td bgcolor=f7efde align=CENTER> <font style=ARIAL NARROW size=2>
Ergebnis2
</font></td></tr>
</table>
</BODY></HTML>
Jetzt sollten Sie feststellen, wie einfach die Routine wuf2.asp aus der vorherigen Lektion ist!
Hinweis: Das HTML-Markup im letzten Teil dieses Programms dient lediglich der Vorbereitung für das folgende Beispiel. Seien Sie also nicht überrascht. Welche anderen Umgebungsvariablen gibt es also? Sie werden es herausfinden, indem Sie das folgende Beispiel ausführen (dieses Programm hat einige Codes gelöscht, zum besseren Verständnis laden Sie am besten das Quellprogramm von meiner Website herunter).
Kopieren Sie den Codecode wie folgt:
<%@ Language=VBScript %>
<% 'wuf9.asp
Option explizit
Dim Sv
%>
<HTML><KÖRPER>
<table colspan=8 cellpadding=5 border=0>
<tr>
<td align=CENTER bgcolor=#800000 width=109> <font style=ARIAL NARROW color=#ffffff size=2>Name der Umgebungsvariablen</font></td>
<td align=CENTER width=459 bgcolor=#800000> <font style=ARIAL NARROW color=#ffffff size=2>Ergebnisse</font></td>
</tr>
<%
für jeden SV in Request.ServerVariables
Response.Write<tr>
Response.Write <td bgcolor='f7efde' align=CENTER> <font style='ARIAL NARROW' size='2'>
Response.Write Sv
Response.Write </font></td>
Response.Write <td bgcolor='f7efde' align=CENTER> <font style='ARIAL NARROW' size='2'>
Response.Write Request.ServerVariables(Sv)
Response.Write </font></td></tr>
nächste
%>
</table>
</BODY></HTML>
Hier wird eine For...Each-Schleife verwendet, um alle Elemente in einer Sammlung aufzulisten. Wenn Sie die zweite Hälfte nicht verstehen, vergleichen Sie bitte wuf8.asp, werfen Sie einen Blick auf die laufenden Ergebnisse und verstehen Sie es sorgfältig (wie ist Ihre Einstellung?).
2. Übertragen Sie Daten über das Formular an den Server (dies kann auch so verstanden werden, wie der Server die vom Client gesendeten Daten liest).
Wenn Sie an einer Homepage gearbeitet haben, sollten Sie wissen, dass viele Homepages normalerweise Formularformulare verwenden, um Benutzern die Eingabe von Daten zu ermöglichen und diese dann über die Schaltfläche „Senden“ zu senden. Im From-Formular gibt es zwei Hauptmethoden: POST und GET. Nach der Aktion wird normalerweise eine .cgi-, .pl- oder .asp-Datei angegeben. Was wir heute lernen werden, ist, wie man diese .asp-Datei schreibt.
(1) Wenn Sie die POST-Methode zum Übertragen von Daten verwenden, verwenden Sie Request.Form, um die Daten zu lesen.
Bearbeiten Sie zunächst die folgende wuf10.htm-Datei, damit Benutzer Daten eingeben können:
Kopieren Sie den Codecode wie folgt:
<html>
<body bgcolor=#FFFFFF>
<form method=post action=wuf11.asp>
Name: <Eingabetyp=Textname=IhrName><br>
Geschlecht: <select name=gender>
<option>Männlich</option>
<option>Weiblich</option>
</select> <br>
Nachricht: <textarea name=message>Hallo!
Achten Sie auf die Verarbeitung von mehrzeiligem Text</textarea> <br>
Hobbys (halten Sie die Strg-Taste gedrückt, um mehrere auszuwählen):
<select name=hobby multiple size=4>
<option>Computer</option>
<option>Einkaufen</option>
<option>Filme</option>
<option>Lesen</option>
</select> <br>
<Eingabetyp=Submit-Name=Submit-Wert=Submit>
<Eingabetyp=Name zurücksetzen=Submit2-Wert=Zurücksetzen>
</form>
</body>
</html>
Schreiben Sie dann eine Datei wuf11.asp, die wuf10.htm zum Sammeln von Daten verwenden muss:
Kopieren Sie den Codecode wie folgt:
<%@ Language=VBScript %>
<% 'wuf11.asp
Option explizit
Response.Expires=0
Dimmen Sie StrName, StrGender, StrM, StrMsg
StrName = Trim(Request.Form(yourname)) 'Trim-Funktion wird verwendet, um führende und nachfolgende Leerzeichen zu entfernen
StrGender = Trim(Request.Form(gender))
StrM = Trim(Request.Form(message))
StrMsg = Ersetzen(StrM,vbcrlf,<Br> & vbcrlf)
' vbcrlf entspricht der Kombination aus Wagenrücklauf und Zeilenvorschub. Die Funktion der Ersetzungsfunktion besteht darin, vbcrlf in der Zeichenfolge StrM durch <Br> und vbcrlf zu ersetzen (denken Sie bitte über die Verwendung dieses vbcrlf nach? Sie werden es verstehen, wenn Sie sich den HTML-Quellcode der Ausgabedatei ansehen. Bitte beachten Sie). Weitere Informationen finden Sie in der VBScript-Hilfe.
%>
<HTML><KÖRPER>
Name: <%= StrName%><Br><Br>
Geschlecht: <%= StrGender%><Br><Br>
Nachricht: <Br><Br>
<%= StrM%><Br><Br>
<%= StrMsg%><Br><Br>
Tatsächlich wird auch der Wert des Submit-Buttons übergeben: <Br>
<%= Request.Form(Submit)%><Br><Br>
<% 'Verstehen Sie zuerst das oben Gesagte und sehen Sie sich dann an, wie Sie mehrere Optionen lesen können, wenn Sie interessiert sind
Response.Write Anzahl der insgesamt ausgewählten Hobbys: & Request.Form(hobby).Count & <Br>
Dim ich
Für I = 1 bis Request.Form(hobby).Count
Response.Write Request.Form(hobby)(I) & <Br>
Nächste
%>
</BODY></HTML>
In diesem Beispiel verwenden wir zum besseren Verständnis zwei Programme. Sie können auch nur ein Programm verwenden. Wenn Sie interessiert sind, sehen Sie sich bitte die folgende Routine wuf12.asp an, die Ihnen hilft, Ihr Verständnis von Umgebungsvariablen zu vertiefen.
Kopieren Sie den Codecode wie folgt:
<%@ Language=VBScript %>
<% 'wuf12.asp
Option explizit
Response.Expires=0
Dimmen Sie StrName, StrGender, StrM, StrMsg
Wenn Request.ServerVariables(Content_Length) <> 0, dann
„Nach dem Absenden der Daten beträgt die Länge nicht 0. Führen Sie daher die folgende Anweisung aus, um das Ergebnis anzuzeigen.“
'Der folgende Teil ist tatsächlich aus wuf11.asp kopiert
StrName = Trim(Request.Form(IhrName))
StrGender = Trim(Request.Form(gender))
StrM = Trim(Request.Form(message))
StrMsg = Ersetzen(StrM,vbcrlf,<Br> & vbcrlf)
%>
<HTML><KÖRPER>
Name: <%= StrName%><Br><Br>
Geschlecht: <%= StrGender%><Br><Br>
Nachricht: <Br><Br>
<%= StrM%><Br><Br>
<%= StrMsg%><Br><Br>
<%
Response.Write Anzahl der insgesamt ausgewählten Hobbys: & Request.Form(hobby).Count & <Br>
Dim ich
Für I = 1 bis Request.Form(hobby).Count
Response.Write Request.Form(hobby)(I) & <Br>
Nächste
%>
</BODY></HTML>
<%
Anders
„Wenn die Seite zum ersten Mal geladen wird, werden keine Daten übermittelt, sodass der vorherige Teil nicht ausgeführt wird, sondern von hier aus beginnt.“
'Aus diesem Grund gibt es zwei Paare von <HTML></HTML>
'Kopieren Sie einfach wuf10.htm unten.
'<form method=post action=wuf11.asp> wurde durch Umgebungsvariablen ersetzt, aber es ist genau das Gleiche
Response.Write, um das Ergebnis anzuzeigen: & Request.ServerVariables(Script_name) & <Br>
%>
<HTML><KÖRPER>
<form method=post action=<%= Request.ServerVariables(Script_name)%>>
Name: <Eingabetyp=Textname=IhrName><br>
Geschlecht: <select name=gender>
<option>Männlich</option>
<option>Weiblich</option>
</select> <br>
Nachricht: <textarea name=message>Hallo!
Achten Sie auf die Verarbeitung von mehrzeiligem Text</textarea> <br>
Hobbys (halten Sie die Strg-Taste gedrückt, um mehrere auszuwählen):
<select name=hobby multiple size=4>
<option>Computer</option>
<option>Einkaufen</option>
<option>Filme</option>
<option>Lesen</option>
</select> <br>
<Eingabetyp=Submit-Name=Submit-Wert=Submit>
<Eingabetyp=Name zurücksetzen=Submit2-Wert=Zurücksetzen>
</form>
</BODY></HTML>
<%End If%>
(2) Wenn Sie die GET-Methode zum Übertragen von Daten verwenden, verwenden Sie Request.Querystring, um die Daten zu lesen.
Bearbeiten Sie zunächst die folgende wuf13.htm-Datei, damit Benutzer Daten eingeben können:
<html>
<body bgcolor=#FFFFFF>
<form method=get action=wuf14.asp>
Englischer Name: <input type=text name=Ename> <br>
Chinesischer Name: <input type=text name=Cname><br>
Geschlecht: <select name=gender>
<option>Männlich</option>
<option>Weiblich</option>
</select> <br>
<Eingabetyp=Submit-Name=Submit-Wert=Submit>
<Eingabetyp=Name zurücksetzen=Submit2-Wert=Zurücksetzen>
</form>
</body>
</html>
Schreiben Sie dann eine Datei wuf14.asp, die wuf13.htm zum Sammeln von Daten verwenden muss:
<%@ Language=VBScript %>
<% 'wuf14.asp
Option explizit
Response.Expires=0
Dimmen Sie StrCname, StrEname, StrGender
StrEname = Trim(Request.QueryString(Ename)) 'Trim-Funktion wird verwendet, um führende und nachfolgende Leerzeichen zu entfernen
StrCname = Trim(Request.QueryString(Cname))
StrGender = Trim(Request.QueryString(gender))
%>
<HTML><KÖRPER>
Englischer Name: <%= StrEname%><Br><Br>
Chinesischer Name: <%= StrCname%><Br><Br>
Geschlecht: <%= StrGender%><Br><Br>
Schauen Sie sich die übermittelte Zeichenfolge an: <Br>
<%= Request.ServerVariables(Query_String)%>
</BODY></HTML>
Um dieses Programm besser zu verstehen, sollten Sie zunächst die Wirkung der Routine wuf13.htm im Browser ausprobieren und sich die Ausgabeergebnisse ansehen. Sie werden feststellen, dass Ihnen die lange Zeichenfolge in der Adressleiste bekannt vorkommt, genau wie when Suche auf Yahoo. Ähnliches gesehen. Versuchen Sie zu diesem Zeitpunkt, http://localhost/wuf14.asp?Ename=Rose&Cname=李二&gender=女 direkt in die Adressleiste einzugeben, und Sie erhalten das gleiche Ergebnis. Sie können es also so sehen: Das Ergebnis von wuf13.htm besteht darin, einen Link mit Parametern wie diesem zu erhalten. Request.QueryString liest alle Daten aus den zusätzlichen Parametern der http://-Adresse.
Tatsächlich wird beim Klicken auf die Schaltfläche „Senden“ die Abfragezeichenfolge (Eingabedaten) in Form von Parametern an die URL-Adresse angehängt (jeder Parameter wird durch & getrennt), um den Zweck der Datenübertragung zu erreichen. Bitte beachten Sie gleichzeitig, dass die im Browser angezeigte Abfragezeichenfolge kein Chinesisch enthält, sondern nicht erkennbare verstümmelte Zeichen mit Prozentzeichen. Dies liegt daran, dass sie codiert ist. Schließlich können diese beiden Programme wie zuvor auch zu einem Programm zusammengeführt werden (Routine wuf15.asp, Sie müssen sie von meiner Website herunterladen).
Ein paar Anmerkungen :
1. Wenn Sie die POST-Methode zum Übermitteln von Daten verwenden, lautet Request.ServerVariables(Content_Length)>0.
Wenn Sie die GET-Methode zum Übermitteln von Daten verwenden, Request.ServerVariables(Query_String) <>.
2. Nachdem Sie das Prinzip verstanden haben, können Sie Request.Form und Request.QueryString in derselben ASP-Datei mischen.
3. Wenn ein Formular mehrere Schaltflächen enthält, wie ermitteln Sie dann, welche Schaltfläche der Benutzer gedrückt hat? Wenn Sie aufmerksam sind, werden Sie feststellen, dass es in der Routine wuf11.asp einen Satz gibt, der besagt, dass auch der Wert der Senden-Schaltfläche übertragen wird, und ein ähnlicher Wert kann in der in wuf13.htm generierten Abfragezeichenfolge gefunden werden. Bitte beachten Sie: Es wird nur der Wert der gedrückten Schaltfläche übermittelt, die Werte der anderen Schaltflächen sind jedoch die Grundlage für die Beurteilung. Auf der InfoWeb-Website „China Planning News“ gibt es einen ähnlichen Artikel.