Σύντομη Εξήγηση ASP

Συμβουλευτικός Κύκλος: Αναφορά ASP από CodeW3C.com. Εκτυπώστε την, βάλτε την στην τσέπη, για να την έχετε πάντα μαζί σας.

Βασική Γραμματική

Το ASP σενάριο περιλαμβάνεται μεταξύ <% και %>.

<html>
<body>
<% response.write("Hello World!") %>
</body>
</html>

Η προεπιλεγμένη γλώσσα του ASP είναι το VBScript. Για να χρησιμοποιήσετε άλλη γλώσσα脚本, προσθέστε μια δήλωση γλώσσας στην κορυφή της σελίδας ASP:

<%@ language="javascript" %>
<html>
<body>
<%
....
%>

Φόρμες και εισαγωγή χρηστών

Request.QueryString χρησιμοποιείται για τη συλλογή τιμών από τη φόρμα με method="get". Οι πληροφορίες που αποστέλλονται μέσω GET από τη φόρμα είναι ορατές για όλους (θα εμφανιστούν στη γραμμή διεύθυνσης του προγράμματος περιήγησης) και υπάρχουν περιορισμοί στον όγκο των δεδομένων.

Request.Form χρησιμοποιείται για τη συλλογή τιμών από τη φόρμα με method="post". Οι πληροφορίες που αποστέλλονται μέσω POST από τη φόρμα είναι μη ορατές για άλλους και δεν υπάρχουν περιορισμοί στον όγκο των δεδομένων.

Cookies ASP

Τα cookie χρησιμοποιούνται συχνά για την αναγνώριση χρηστών. Τα cookie είναι μικρά αρχεία που ο διακομιστής ενσωματώνει στον υπολογιστή του χρήστη. Κάθε φορά που ο ίδιος υπολογιστής ζητάει μια σελίδα μέσω του προγράμματος περιήγησης, τα cookie αποστέλλονται.

Η οδηγία Response.Cookies χρησιμοποιείται για τη δημιουργία cookie:

<%
Response.Cookies("firstname")="Alex"
Response.Cookies("firstname").Expires="May 10,2012"
%>

Σημείωση: Η οδηγία Response.Cookies πρέπει να βρίσκεται πριν από τις ετικέτες <html>!

"Request.Cookies" οδηγία χρησιμοποιείται για να αποκτήσετε τιμές cookie:

<%
fname=Request.Cookies("firstname")
response.write("Firstname=" & fname)
%>

Αναφορά αρχείου

Με την οδηγία #include, πριν από την εκτέλεση από τον διακομιστή, μπορείτε να εισάγετε το περιεχόμενο ενός αρχείου ASP σε ένα άλλο αρχείο ASP. Η οδηγία #include χρησιμοποιείται για τη δημιουργία συναρτήσεων, κεφαλίδων σελίδας, πίσω ουρών, ή στοιχείων που επαναχρησιμοποιούνται σε πολλές σελίδες.

Γλώσσα:

<!--#include virtual="somefile.inc"-->

ή

<!--#include file ="somefile.inc"-->

Παρακαλώ χρησιμοποιήστε το κλειδί λεξικού virtual για να δείξετε το δομή του δρομολογίου που ξεκινά από το virtually αρχείο. Αν το αρχείο με το όνομα "header.inc" βρίσκεται στον virtually κατάλογο /html, τότε το παρακάτω κώδικας θα εισάγει το περιεχόμενο του "header.inc":

<!-- #include virtual ="/html/header.inc" -->

Χρησιμοποιήστε το κλειδί λέξη file για να αναφέρετε σχετικές διαδρομές. Η σχετική διαδρομή ξεκινά από τον κατάλογο που περιέχει το αρχείο που αναφέρεται.

<!-- #include file ="headers\header.inc" -->

Χρησιμοποιήστε το κλειδί λέξη file και τη σύνταξη (..\) για να αναφέρετε αρχεία από υψηλότερο επίπεδο καταλόγου.

Global.asa

Το αρχείο Global.asa είναι επιλογή και μπορεί να περιέχει δηλώσεις αντικειμένων, μεταβλητών και μεθόδων που μπορούν να προσβληθούν από κάθε σελίδα του ASP εφαρμογής.

Σημείωση: Το αρχείο Global.asa πρέπει να βρίσκεται στον ρίζα του ASP εφαρμογής και κάθε εφαρμογή μπορεί να έχει μόνο ένα αρχείο Global.asa.

Το αρχείο Global.asa μπορεί να περιέχει μόνο το εξής:

  • Εκδηλώσεις Application
  • Εκδηλώσεις Session
  • <object> δήλωση
  • Δήλωση TypeLibrary
  • Οδηγία #include

Εκδηλώσεις Application και Session

Στο Global.asa, μπορείτε να πείτε τι πρέπει να γίνει όταν ξεκινά η εφαρμογή ή η session και τι πρέπει να γίνει όταν τελειώνει η εφαρμογή ή η session. Ο κώδικας για αυτό το έργο βρίσκεται στους διαχειριστές εκδηλώσεων.

Σημείωση: Όταν εισάγουμε κώδικα στο αρχείο Global.asa, δεν χρησιμοποιούμε <% και %>, αλλά πρέπει να τοποθετήσουμε τις διαδικασίες μέσα στην ετικέτα <script> της HTML:

<script language="vbscript" runat="server">
sub Application_OnStart
  ' κάποιο κώδικα
end sub
sub Application_OnEnd
  ' κάποιο κώδικα
end sub
sub Session_OnStart
  ' κάποιο κώδικα
end sub
sub Session_OnEnd
  ' κάποιο κώδικα
end sub
</script>

<object> δήλωση

Με τη χρήση της ετικέτας <object>, μπορείτε επίσης να δημιουργήσετε αντικείμενα με τομέα session ή application στο Global.asa.

Σημείωση: Η ετικέτα <object> πρέπει να βρίσκεται εκτός της ετικέτας <script>!

Γλώσσα:

<object runat="server" scope="scope" id="id">
{progid="progID"|classid="classID"}>
.......
</object>

Δήλωση TypeLibrary

Η TypeLibrary είναι ένα κουτί περιεχομένων που αντιστοιχεί στο DLL αρχείο του COM αντικειμένου. Με την προσθήκη κλήσεων TypeLibrary στο αρχείο Global.asa, μπορείτε να προσέξετε τις σταθερές του COM αντικειμένου και το ASP κώδικας μπορεί να αναφέρει καλύτερα τα σφάλματα. Αν η εφαρμογή σας εξαρτάται από COM αντικείμενα που έχουν δηλωθεί στο τύπο της βιβλιοθήκης, μπορείτε να δηλώσετε τη βιβλιοθήκη αυτή στο Global.asa.

Γλώσσα:

<!--
METADATA TYPE="TypeLib"
file="filename"
uuid="typelibraryuuid"
version="versionnumber"
lcid="localeid"
-->

Αντικείμενο Session

Το αντικείμενο Session χρησιμοποιείται για την αποθήκευση πληροφοριών σχετικά με τη session του χρήστη ή για την αλλαγή των ρυθμίσεών του. Οι μεταβλητές που αποθηκεύονται στο αντικείμενο Session περιέχουν πληροφορίες για έναν χρήστη και μπορούν να προσέγγιστούν από όλες τις σελίδες της εφαρμογής.

Συλλογή

  • Contents - Περιέχει όλα τα στοιχεία που προστίθενται στη session μέσω εντολών script
  • StaticObjects - Περιέχει όλα τα αντικείμενα που προστίθενται στη session μέσω του ετικέτας <object> του HTML
  • Contents.Remove(item/index) - Αφαίρεση ενός στοιχείου από τη συλλογή Contents
  • Contents.RemoveAll() - Αφαίρεση όλων των στοιχείων από τη συλλογή Contents

Πρότυπο

  • CodePage - Ορίζει το χαρακτήρα σετ που χρησιμοποιείται για την εμφάνιση δυναμικού περιεχομένου
  • LCID - Ρύθμιση του αναγνωριστικού περιοχής που χρησιμοποιείται για την εμφάνιση δυναμικού περιεχομένου
  • SessionID - Επιστροφή του session id
  • TimeOut - Ρύθμιση ή επιστροφή του χρόνου λήξης της session

Μέθοδος

  • Απόρριψη - Ακύρωση όλων των αντικειμένων του αντικειμένου session

Αντικείμενο Application

Ένα σύνολο ASP αρχείων που συνεργάζονται για την εκτέλεση μιας εργασίας ονομάζεται εφαρμογή. Το αντικείμενο Application του ASP χρησιμοποιείται για να συνδέει αυτά τα αρχεία μαζί. Όλοι οι χρήστες συνδέουν ένα αντικείμενο Application. Το αντικείμενο Application πρέπει να περιέχει πληροφορίες που χρησιμοποιούνται από πολλές σελίδες της εφαρμογής (π.χ. πληροφορίες σύνδεσης βάσης δεδομένων).

Συλλογή

  • Περιεχόμενα - Περιλαμβάνει όλα τα στοιχεία που προστίθενται στην εφαρμογή μέσω των εντολών script
  • StaticObjects - περιέχει όλους τους αντικειμένους που προστίθενται στην εφαρμογή με την ετικέτα <object> του HTML
  • Contents.Remove - αφαιρεί μια εγγραφή από τη συλλογή Contents
  • Contents.RemoveAll - αφαιρεί όλες τις εγγραφές από τη συλλογή Contents

Μέθοδος

  • Lock - αποτρέπει τον χρήστη να τροποποιήσει τις μεταβλητές του αντικειμένου Application
  • Unlock - επιτρέπει στον χρήστη να τροποποιήσει τις μεταβλητές του αντικειμένου Application

Ο αντικειμενος Response

Ο αντικειμενος Response χρησιμοποιείται για να στείλει την έξοδο από τον διακομιστή στον χρήστη.

Συλλογή

Cookies(name) - ορίζει την τιμή του cookie. Αν δεν υπάρχει, δημιουργείται το cookie και ορίζεται η καθορισμένη τιμή.

Πρότυπο

  • Buffer - καθορίζει αν η έξοδος θα κACHEται. Όταν η έξοδος είναι κACHE, ο διακομιστής θα αποτρέψει την απάντηση στο πρόγραμμα περιήγησης μέχρι να χειριστούν όλα τα σενάρια του διακομιστή ή μέχρι να καλέσει τη μέθοδο Flush ή End. Αν θέλετε να ρυθμίσετε αυτή την ιδιότητα, θα πρέπει να βρίσκεται πριν από την ετικέτα <html> του αρχείου .asp
  • CacheControl - ορίζει αν ο διαμεσολαβητής μπορεί να κACHE την έξοδο που δημιουργείται από το ASP. Αν οριστεί σε Public, ο διαμεσολαβητής θα κACHE την σελίδα.
  • Charset(charset_name) - προσθέτει το όνομα του χαρακτήρα της γλώσσας στο κεφαλή content-type του αντικειμένου απάντησης.
  • ContentType - ορίζει τον τύπο περιεχομένου HTTP του αντικειμένου απάντησης. (π.χ. "text/html", "image/gif", "image/jpeg", "text/plain"). Η προεπιλεγμένη τιμή είναι "text/html"
  • Expires - ορίζει τον χρόνο κACHE της σελίδας στο πρόγραμμα περιήγησης πριν από την λήξη (σε λεπτά)
  • ExpiresAbsolute - ορίζει την ημερομηνία και την ώρα λήξης του κACHE της σελίδας στο πρόγραμμα περιήγησης
  • IsClientConnected - δείχνει αν ο πελάτης έχει αποσυνδεθεί από τον διακομιστή
  • Pics(pics_label) - προσθέτει τιμές στο σήμα PICS του κεφαλής της απάντησης
  • Status - καθορίζει την τιμή της γραμμής κατάστασης που επιστρέφεται από τον διακομιστή

Μέθοδος

  • AddHeader(όνομα, value) - προσθέτει νέες κεφαλές HTTP και τιμές στην HTTP απάντηση
  • AppendToLog string - προσθέτει αλφαριθμητική αλληλουχία στο τέλος του καταγραφείου του διακομιστή (server log entry)
  • ΓράψεΔεδομένα(δεδομένα γράψιμου) - Γράφει δεδομένα στην έξοδο χωρίς καμία μετατροπή χαρακτήρων
  • Καθαρισμός - Καθαρίζει τα αποθηκευμένα στοιχεία. Χρησιμοποιείται για την επεξεργασία σφαλμάτων. Αν το Response.Buffer δεν είναι σε θέση true, αυτή η μέθοδος θα προκαλέσει σφάλμα κατά την εκτέλεση
  • Τέλος - Σταματά την επεξεργασία του σενάριου και επιστρέφει το τρέχον αποτέλεσμα
  • Διάβρωση - Αποστέλλει αμέσως τα αποθηκευμένα στοιχεία. Αν το Response.Buffer δεν είναι σε θέση true, αυτή η μέθοδος θα προκαλέσει σφάλμα κατά την εκτέλεση
  • Μετακίνηση(URL) - Μετακινεί τον χρήστη σε μια άλλη URL
  • Γράψε(δεδομένα γράψιμου) - Γράφει κείμενο στον χρήστη

Αντικείμενο Αίτησης

Όταν ο περιηγητής ζητάσεται σελίδα από τον διακομιστή, αυτό ονομάζεται αίτημα. Το αντικείμενο αίτησης χρησιμοποιείται για να αποκτήσει πληροφορίες από τον χρήστη.

Συλλογή

  • ΕπιβεβαίωσηΚαταναλωτή - Περιέχει τιμές πεδίων που αποθηκεύονται στο πιστοποιητικό πελάτη
  • Cookies(όνομα) - Περιέχει τιμές cookie
  • Φόρμα(όνομα στοιχείου) - Περιέχει τιμές φόρμας. Η φόρμα πρέπει να χρησιμοποιείται με μέθοδο POST
  • Ερωτηματική(όνομα μεταβλητής) - Περιέχει τιμές μεταβλητών της ερωτηματικής
  • ΔιαγνωστικέςΜεταβλητές(διαγνωστική μεταβλητή) - Περιέχει τιμές μεταβλητών διακομιστή

Πρότυπο

  • ΣυνολικάΔεδομένα - Επιστρέφει το συνολικό αριθμό των bytes που αποστέλλονται από τον πελάτη στο σώμα της αίτησης

Μέθοδος

  • ΔιαδρομήΔεδομένων - Επιστρέφει τα δεδομένα που αποστέλλονται ως μέρος μιας αίτησης POST από τον πελάτη στον διακομιστή

Αντικείμενο Server

Το αντικείμενο Server χρησιμοποιείται για την πρόσβαση σε ιδιότητες και μεθόδους του διακομιστή.

Πρότυπο

ScriptTimeout - Ορίζει ή επιστρέφει πόσο χρόνο μπορεί να εκτελεστεί ένα σενάριο πριν διακοπεί.

Μέθοδος

  • ΔημιουργίαΑντικειμένου(μορφή_αντικειμένου) - Δημιουργία μιας στιγμιαίας περιπτώσεως αντικειμένου
  • Εκτέλεση(path) - Εκτέλεση ενός άλλου ASP αρχείου από το εσωτερικό του ASP αρχείου. Μετά την ολοκλήρωση της εκτέλεσης του κλήσιμου ASP αρχείου, η εξουσία επιστρέφεται στο αρχικό ASP αρχείο
  • ) - Επιστρέφει το ASPError αντικείμενο που περιγράφει το σφάλμα
  • ΚωδικοποίησηHTML(string) - Εφαρμόζει HTML κωδικοποίηση σε αλφαριθμητική αλυσίδα
  • ΧάρτηςΔρομολογίου(path) - Μεταφέρει το σχετικό ή εικονικό δρομολόγιο σε φυσικό δρομολόγιο
  • Μετακίνηση(path) - Αποστολή όλων των πληροφοριών κατάστασης σε ένα άλλο αρχείο για επεξεργασία. Μετά την αποστολή, η διαχείριση του προγράμματος δεν θα επιστρέψει στο αρχείο ASP
  • URLEncode(string) - Εφαρμογή των κανόνων URL κωδικοποίησης στη συμβολοσειρά

Πηγή: http://www.codew3c.com/asp/asp_quickref.asp