Empfohlen: Über Ausnahmehandling unter ASP.NET AJAX Kürzlich, als ich an einem Projekt arbeitete, habe ich ASP.NET Ajax viel angewendet. Da im asynchronen Update -Modus von UpdatePanel die Ausnahmen, die während der Hintergrundverarbeitung auftreten, nicht Änderungen in der Schnittstelle des Clients verursachen, jedoch die Ausnahmeinformationen im Alarmmodus direkt übertreffen. Ich war also faul und machte den Fehler direkt, wenn der Hintergrund Eingaben erkennt, die den Anforderungen nicht entsprechen.
20 Sehr nützliche Tipps in ASP:
1. So verwenden Sie ASP, um den virtuellen physischen Pfad Ihrer Website zu bestimmen
Antwort: Verwenden Sie die Mappath -Methode
<p Align = center> <font size = 4 face = arial> <b>
Der physische Weg zu dieser virtuellen Website ist:
< /b> < /font>
<font color =#ff0000 size = 6 face = arial>
< % = Server.MAppath (/) %>
< /font> < /p>
2. Woher kenne ich den vom Benutzer verwendeten Browser?
Antwort: Verwenden Sie die Anforderungsobjektmethode
strbrowser = request.servervariables (http_user_agent)
Wenn Instrument (strbrowser, MSIE) <> 0 dann
Antwort.Redirect (formsieonly.htm)
Anders
Response.Redirect (forall.htm)
Ende wenn
3.. So berechnen Sie die durchschnittliche Anzahl wiederholter Besuche pro Tag
Antwort: Lösung
< % startDate = datediff (d, jetzt, 01/01/19 1990)
Wenn Strdate <0 dann startdate = startDate*-1
avgvpd = int ((usercnt)/startDate) %>
Ergebnisse zeigen
< % response.write (AVGVPD) %>
Das ist es. Diese Seite wird seit dem 10. November 1998 angesehen
4.. So zeigen Sie zufällige Bilder an
< % Dim P, PPIC, DPIC
ppic = 12
randomisieren
p = int ((ppic*rnd) 1)
DPIC = Graphix/Randompics/& p & .gif
%>
zeigen
<img src = < % = dpic % >>
5. So kehren Sie zur vorherigen Seite zurück
Antwort: <a href = < % = Request.Servervariables (http_referer) %>> Vorpage < /a>
Oder verwenden
6. So bestimmen Sie die IP -Adresse der anderen Partei
Antwort: < % = request.Servervariables (Remote_addr) %>
7. Wie man mit einem Bild verlinkt
Antwort: < % @Sprachen = vbscript %>
< % response.expires = 0
strimagename = graphix/fehler/erroriamge.gif
Response.Redirect (Strimagename)
%>
8. Dialogfeld für Passworteingänge erzwingen
Antwort: Setzen Sie diesen Satz am Anfang der Seite
< % Antwort.Status = 401 nicht autorisiert
Antwort.end
%>
9. Wie man Variablen von einer Seite zur anderen übergibt
Antwort: Verwenden Sie den versteckten Typ, um Variablen zu übergeben
< % formmethode = post action = myNextPage.asp>
< % für jeden Artikel in Request.Form %>
<Eingabe namee = < % = item %> Typ = versteckt
value = < % = server.htmlencode (request.form.form (item)) % >>
< % Next %>
< /form>
10. Warum verwende ich MSGBox im ASP -Programm? Der Programmfehler besagt, dass es keine Erlaubnis gibt
ANTWORT: Da ASP vom Server ausgeführt wird, müssen Sie auf dem Server warten, bis jemand in Ordnung ist, bevor Ihr Programm weiter ausgeführt werden kann. Im Allgemeinen gibt es niemanden auf dem Server, daher muss Microsoft diese Funktion verbieten und Ihnen zufällig sagen (haha), dass es keine Erlaubnis gibt. ASP- und Client -Skripte können jedoch wie folgt ein Dialogfeld anzeigen:
11. Gibt es eine Möglichkeit, Ihren Quellcode zu schützen und die Leute nicht sehen zu lassen
A: Sie können einen Microsoft Windows -Skript -Encoder herunterladen, mit dem ASP -Skripte und Client -JavaScript/VBScript -Skripte verschlüsselt werden können. . . Nachdem der Kunde verschlüsselt wurde, kann nur der IE5 ausgeführt werden. Nachdem der Server verschlüsselt wurde, ist nur wenn die Skript -Engine 5 auf dem Server installiert ist (eine Installation eines IE5 ist gefunden).
12. Wie kann ich die Abfragezeichenfolge von einer ASP -Datei in eine andere übertragen?
Antwort: Die frühere Datei fügt den nächsten Satz hinzu: Antwort.Redirect (Second.asp? & Request.Servervariables (query_string))
13. Die Datei Global.asa funktioniert immer nicht?
ANTWORT: Nur wenn das Webverzeichnis auf die Webanwendung festgelegt ist, ist global.asa gültig und global.asa ist im Stammverzeichnis einer Webanwendung gültig. IIS4 kann den Internet Service Manager verwenden, um Anwendungseinstellungen einzurichten. Wie kann die HTM -Datei Skriptcode wie eine ASP -Datei ausführen?
14. Wie kann die HTM -Datei in der Lage sein, Skriptcode wie eine ASP -Datei auszuführen?
ANTWORT: Internet Services Manager -> Standardwebsite auswählen -> Schaltfläche Rechte Maustaste -> Menüeigenschaften -> Home -Verzeichnis -> Anwendungseinstellungen -> Klicken Sie auf die Schaltfläche Konfiguration -> App -Mapping -> Klicken Sie auf der Schaltfläche Hinzufügen -> Browser Select /winnnt/System32/inetsrv/asp.dll Erweiterung Eingeben HTM -Methode EXPLISION ENTRIEREN.DELETE. Es ist jedoch erwähnenswert, dass die Effizienz auf diese Weise reduziert wird.
15. So registrieren Sie Komponenten
Antwort: Es gibt zwei Möglichkeiten.
Die erste Methode: Registrieren Sie diese Methode manuell. Diese Methode wird von IIS 3.0 bis IIS 4.0 und anderen Webservern verwendet. Sie müssen es in der Befehlszeile ausführen, das Verzeichnis mit der DLL eingeben, und geben Sie ein: RegSVR32 component_name.dll. Dann kann diese Komponente auf dem Server verwendet werden, diese Methode hat jedoch einen Fehler. Nach der Registrierung einer Komponente mit dieser Methode muss die Komponente das entsprechende anonyme Konto mit NT festlegen, um die Erlaubnis zur Ausführung dieser DLL zu erhalten. Insbesondere müssen einige Komponenten die Registrierung lesen, sodass die Methode zur Registrierung von Komponenten nur dann verwendet werden muss, wenn keine MTs auf dem Server vorhanden sind. Um diese DLL zu registrieren, verwenden Sie: regsvr32 /u aspobject.dll Beispiel C: /temp /regsvr32 /u anEiodbc.dll
Die zweite Methode: Die Verwendung von MTS (Microsoft Transaction Server) MTS ist eine neue Funktion von IIS 4, bietet jedoch eine enorme Verbesserung. Mit MTS können Sie angeben, dass nur privilegierte Benutzer auf Komponenten zugreifen können und die Sicherheitseinstellungen auf dem Website -Server erheblich verbessern. Die Schritte zur Registrierung einer Komponente auf MTS sind wie folgt:
1) Öffnen Sie die IIS -Managementkonsole.
2) Erweitern Sie den Transaktionserver, klicken Sie mit der rechten Maustaste auf PKGs, die installiert sind, und wählen Sie ein neues Paket aus.
3) Klicken Sie auf ein leeres Paket erstellen.
4) Nennen Sie das Paket.
5) Geben Sie das Administratorkonto an oder verwenden Sie interaktiv (wenn sich der Server häufig mit Administrator anmeldet).
6) Klicken Sie nun mit der rechten Maustaste auf die erweiterten Komponenten unter dem von Ihnen erstellten Paket. Wählen Sie neue dann Komponente aus.
7) Wählen Sie neue Komponente installieren.
8) Finden Sie Ihre .dll -Datei und wählen Sie neben dem Abschluss.
Um dieses Objekt zu löschen, wählen Sie einfach das Symbol aus und wählen Sie Löschen.
HINWEIS: Achten Sie besonders auf die zweite Methode. Dies ist der beste Weg, um die Komponenten zu debuggen, die Sie selbst schreiben, ohne die Maschine jedes Mal neu starten zu müssen.
16. Verbinden Sie ASP, um auf Datenbank zuzugreifen:
Dim Conn, Mdbfile
mdbfile = server.mappath (Datenbankname.mdb)
Setzen Sie conn = server.createObject (adodb.Connection)
Conn.open Driver = {Microsoft Access Treiber (*.mdb)}; uid = admin; pwd = Datenbankkennwort; dbq = & mdbfile
17. ASP mit der SQL -Datenbank verbinden:
Dim Conn
Setzen Sie conn = server.createObject (adodb.Connection)
con.open; Provider = SQLOLEDB; Data Source = SQL Server Name oder IP -Adresse; uid = sa; pwd = Datenbankkennwort; Datenbank = Datenbankname
Erstellen Sie ein Rekord -Set -Objekt:
Setzen Sie rs = server.createObject (adodb.Recordset)
Rs.open SQL Anweisung, Conn, 3,2
18. Common SQL Command Usage Methods:
(1) Datendatensatzfilterung:
SQL = SELECT * Aus der Datentabelle, wobei Feldname = Feldwertauftrag nach Feldname [Desc]
SQL = SELECT * Aus der Datentabelle, wobei Feldname wie % Feldwert % Bestellung nach Feldname [Desc]
SQL = Top 10 * aus der Datentabelle auswählen, wobei Feldname bestellen nach Feldname [Desc]
SQL = SELECT * Aus der Datentabelle, wobei Feldname in (Wert 1, Wert 2, Wert 3)
SQL = SELECT * Aus der Datentabelle, wobei Feldname zwischen Wert 1 und Wert 2
(2) Datensätze aktualisieren:
SQL = Data Tabelle Set Feldname = Feldwert wobei der bedingte Ausdruck
SQL = Data Tabelle Set Feld 1 = Wert 1, Feld 2 = Wert 2 ... Feld N = Wert n WHERE DONSETIONALE Expression
(3) Datensätze löschen:
SQL = aus der Datentabelle löschen, wobei der bedingte Ausdruck
SQL = aus der Datentabelle löschen (alle Datensätze in der Datentabelle löschen)
(4) Datensätze hinzufügen:
SQL = in die Datentabelle einfügen (Feld 1, Feld 2, Feld 3…) Wertess (Wert 1, Wert 2, Wert 3…)
SQL = in die Zieldatentabelle einfügen * Auswahl * aus Quelldatentable (fügen Sie den Datensatz der Quelldatentabelle zur Zieldatentable hinzu).
(5) Funktionsstatistikfunktion:
AVG (Feldname), um einen Durchschnittswert einer Tabellenspalte zu erhalten
Zählen (*| Feldname) Statistiken zur Anzahl der Datenzeilen oder Statistiken zur Anzahl der Datenzeilen mit Werten in einer bestimmten Spalte
Max (Feldname) Erhalten Sie den Maximalwert einer Tabellenspalte
Min (Feldname) Erhalten Sie den Mindestwert einer Tabellenspalte
Summe (Feldname) fügt den Wert der Datenspalte hinzu
Verweisen Sie auf die obige Funktionsmethode:
SQL = Summe (Feldname) als Alias aus der Datentabelle, wobei der bedingte Ausdruck
Setzen Sie RS = Conn.Excute (SQL)
Verwenden Sie RS (Alias), um die Statistiken zu erhalten, und andere Funktionen werden genauso verwendet wie oben.
(5) Einrichtung und Löschen von Datentabellen:
Tabelle Data Tabelle erstellen Name (Feld 1 Typ 1 (Länge), Feld 2 Typ 2 (Länge)…)
Beispiel: Tabelle Tab01 erstellen (Name Varchar (50), datetime Standard ())
DROP -Tabelle Data -Tabelle Name (dauerhaft eine Datentabelle löschen)
19. Methoden der Rekordobjekte:
Rs.Movenext bewegt den Datensatzzeiger eine Zeile aus der aktuellen Position nach unten
Rs.MovePrevious bewegt den Rekordzeiger eine Zeile aus der aktuellen Position
Rs.Movefirst verschiebt den Datensatzzeiger in die erste Zeile der Datentabelle
Rs.Movelast verschiebt den Datensatzzeiger in die letzte Zeile der Datentabelle
rs.absoluteposition = n Verschieben Sie den Datensatzzeiger in die Zeile n der Datentabelle
rs.absolutepage = n den Datensatzzeiger auf die erste Zeile von Seite N verschieben
Rs.PageSize = N Legen Sie jede Seite auf n Datensätze fest
Rs.PageCount gibt die Gesamtzahl der Seiten gemäß den Einstellungen von PageSize zurück
Rs.RecordCount gibt die Gesamtzahl der Datensätze zurück
Rs.Bof gibt zurück, ob der Datensatzzeiger den Kopf der Datentabelle überschreitet. Wahre bedeutet ja, falsch ist nein
Rs.eof gibt zurück, ob der Datensatzzeiger das Ende der Datentabelle überschreitet. TRUE bedeutet Ja, false ist Nein, nein
Rs.Delete löscht den aktuellen Datensatz, der Datensatzzeiger bewegt sich jedoch nicht nach unten
Rs.AddNew Fügen Sie den Datensatz zum Ende der Datentabelle hinzu
Rs.Update Update Data Table Records
-----------------------------------
20 Recordset -Objektmethode
Offene Methode
Recordset.open Source, ActiveConnection, Cursortype, LockType, Optionen
Quelle
Das Recordset -Objekt kann über die Quelleigenschaft mit dem Befehlsobjekt verbunden werden. Der Quellparameter kann ein Befehlsobjektname, ein SQL -Befehl, ein angegebener Datentabellenname oder eine gespeicherte Prozedur sein. Wenn dieser Parameter weggelassen wird, verwendet das System die Quelleigenschaft des Recordset -Objekts.
ActiveConnection
Das RecordSet -Objekt kann über die ActiveConnection -Eigenschaft mit dem Verbindungsobjekt verbunden werden. Die ActiveConnection hier kann ein Verbindungsobjekt oder ein String -Parameter sein, der Datenbankverbindungsinformationen (ConnectionString) enthält.
Cursortyp
Der Cursortype -Parameter der offenen Methode des Recordset -Objekts gibt an, welchen Cursor -Typ die Daten, einschließlich adopteforwardonly, adoptenKeyset, adoptyNamic und adoptic, die wie folgt beschrieben werden, angeben:
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Konstante Wertbeschreibung
-------------------------------------------------------------
adopteforwardonly 0 Standardwert, startet einen Cursor, der nur voranschreiten kann (nur vorwärts).
adoptenkeyset 1 startet einen Keyset -Cursor.
adoptendynamisch 2 Starten Sie einen dynamischen Typ Cursor.
Adoptionstatic 3 startet einen statischen Cursor vom Typ.
-------------------------------------------------------------
Die oben genannten Cursortypen wirken sich direkt auf alle Eigenschaften und Methoden des Recordset -Objekts aus. Die folgende Liste erläutert den Unterschied zwischen ihnen.
-------------------------------------------------------------
Recordset -Immobilien adoptieren
-------------------------------------------------------------
Absolutepage unterstützt nicht lesbare, schriftliche, lesbare, schriftliche, schriftliche, schriftlich
Absoluteposition unterstützt nicht lesbar, schriftlich, lesbar, schriftlich
ActiveConnection lesbar, schriftlich, lesbar, schriftlich, lesbar, schriftlich, lesbar, schriftlich
BOF-schreibgeschützte schreibgeschützte schreibgeschützte schreibgeschützte, die nur schreibgeschützt sind
Das Lesezeichen unterstützt nicht lesbare, schriftliche, lesbare, schriftliche, schriftlich
Kachesize lesbar, schriftlich, lesbar, schriftlich, lesbar, schriftlich
Cursorlocation lesbar, schriftlich, lesbar, schriftlich, lesbar, schriftlich, lesbar, schriftlich
Cursortype lesbar, schriftlich, lesbar, schriftlich, lesbar, schriftlich, lesbar, schriftlich
Schreibmodelle schreibgeschützte schreibgeschützte schreibgeschützte Bearbeitung nur schreibgeschützt nur schreibgeschützt
Eof schreibgeschützte schreibgeschützte schreibgeschützte schreibgeschützte
Filter lesbar, schriftlich, lesbar, schriftlich, lesbar, schriftlich, lesbar, schriftlich
Locktype lesbar, schriftlich, lesbar, schriftlich, lesbar, schriftlich, lesbar, schriftlich
Marschhallesbar, beschreibbar, lesbar, beschreibbar, lesbar, beschreibbar
MaxRecords lesbar, beschreibbar, lesbar, beschreibbar, lesbar, beschreibbar
PageCount unterstützt keine schreibgeschützte schreibgeschützte, die nur schreibgeschützt ist
PageSize lesbar, schriftlich, lesbar, schriftlich, lesbar, schriftlich, lesbar, schriftlich
RecordCount unterstützt keine schreibgeschützte schreibgeschützte, die nur schreibgeschützt ist
Quelle lesbar, schriftlich, lesbar, schriftlich, lesbar, schriftlich, lesbar, schriftlich
Staatlich schreibgeschützte schreibgeschützte schreibgeschützte schreibgeschützte
Status schreibgeschützte schreibgeschützte schreibgeschützte schreibgeschützte nur schreibgeschützt
Unterstützung Support Support Support Support Support Support Support Support Support Support
Support Support Support Support Support für AbbrechenbatchBatch
Unterstützung Support Support Support Support Support Support Support Support
Klon unterstützt es nicht oder nicht
Unterstützung Support Support Support Support Support Support
Support Support Support Support Support Support Löschen
Support Support Support Support Support Support
MOVE unterstützt keine Unterstützung für Unterstützung für Unterstützung
Support Support Support Support Support Support Support Support
Movelast unterstützt Unterstützung bei der Unterstützung von Unterstützung nicht
Support Support Support Support Support Support Support
MovePrevious NICHT unterstützt Unterstützung Support Support Support Support Support Support
Support Support Support Support Support Support Support
Support Support Support Support Support Support Support
Support Support Support Support Requery Support Support
Resync unterstützt Support Support Support Support nicht
Unterstützt Unterstützung für Unterstützung
Unterstützung Support Support Support Support Support Support Support
Support Support Support Support Support Support Support
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Die NexTrecordSet -Methode gilt nicht für Microsoft Access -Datenbanken.
LockType
Der Parameter lockType der offenen Methode des Recordset -Objekts gibt den zu übertragenden Sperrtyp an. Wenn dieser Parameter ignoriert wird, verwendet das System die LockType -Eigenschaft des Recordset -Objekts als voreingestellter Wert. Die LockType -Parameter umfassen AdlockReadonly, Adlockprssimistic, Adlockoptimistic und AdlockBatchOptimistic usw. und werden wie folgt beschrieben:
-------------------------------------------------------------
Konstante Wertbeschreibung
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
AdlockReadonly 1 Standardwert, das Recordset-Objekt wird im schreibgeschützten Modus gestartet, und die AddNew-, Update-, Löschen- und andere Methoden können nicht ausgeführt werden.
AdlockPRSSimistic 2 Wenn die Datenquelle aktualisiert wird, sperrt das System die Aktionen anderer Benutzer vorübergehend, um die Datenkonsistenz aufrechtzuerhalten.
Adlockoptimistische 3 Wenn die Datenquelle aktualisiert wird, sperrt das System die Aktionen anderer Benutzer nicht. Andere Benutzer können die Daten hinzufügen, löschen und ändern.
AdlockBatchOptimistic 4 Wenn die Datenquelle aktualisiert wird, müssen andere Benutzer die Cursorlocation -Eigenschaft in adudeClientBatch ändern, um die Daten zu erhöhen.
Gelöscht und modifiziert* Arbeit.
Share: ASP -Programmierer müssen Wissen haben Datenbankverbindung: % SET Conn = Server.createObject (adodb.Connection) conn.open Driver = {Microsoft Access Driver ( * .mdb)}; dbq = server.mappath (Datenbankname) % Öffnen Sie die Datenbank: exec = select * aus der Datenbanktabelle SETS = Server.