Empfohlen: So implementieren Sie ASP und ASP.NET Share -Sitzung In .NET unterscheidet sich der Speichermechanismus der Sitzung von dem von ASP. Obwohl es ASP und ASPX gleichzeitig unter demselben IIS ausführen kann, kann die Sitzung nicht zwischen ihnen übergeben werden. Zuvor wurde eine große Anzahl von Systemen verwendet, um ASP zu erhalten. Während des Upgrade -Prozesses, wenn der ASP vollständig aufgegeben ist
Mit der gleichen Idee wie das Erstellen einer universellen Verbindung in einem separaten Modul erstellen wir ein Pagelet. Mit Pagelet können Entwickler Pseudokontrolle erstellen, mit denen Eigenschaften, Methoden und Ereignisse sowie Objekte angezeigt werden können. Unsere Lösung besteht darin, ein Pagelet zu erstellen, das die ConnectToDB -Methode anzeigt, die ein Adoconnection -Objekt zurückgibt (geringfügig von der Syntax von ADO). Wir verwenden den folgenden Code, um ein Pagelet zu erstellen und es als Connect.aspc zu speichern (die Erweiterung zeigt, dass es sich um ein Pagelet handelt).< %@ Importieren namespace = system.data %>
< %@ Importieren namespace = system.data.ado %>
<Skript Sprache = vb runat = server>
Öffentliche Funktion ConnectToDB () als Adokonnektion
ConnectToDB = Neue Adoconnection (DSN = Evillesn)
Endfunktion
< /script>
Sie werden feststellen, dass wir zwei Namespaces importiert haben, nämlich System.Data und System.Data.ado. Diese Namespaces sind erforderlich, um den ADO -Managed -Anbieter zu verwenden. Viele Leute haben mir viele Fragen dazu gestellt, da die meisten Beispiele derzeit den SQL Managed Provider basierend auf der Microsoft SQL Server 2000 -Datenbank verwenden. Für Nicht-SQL-Serverdatenbanken kann ASP ADO Managed Provider verwenden, was ungefähr so wie Sie ADO in Ihrem Programm derzeit verwenden. Das Importieren von Namespaces ähnelt dem Erstellen von Referenzen in VB -Programmen.
Durch die Verwendung von Pagelet können ich meinen aktuellen Standortplan beibehalten. Sobald eine Verbindung im Modul erstellt wurde, können wir das Modul wiederverwenden, wo wir es brauchen. Dies bedeutet, dass wir die Dateianweisung inklusive durch eine Instanz von Leidenszeiten ersetzen müssen und dann die ConnectToDB -Methode aufrufen müssen, wenn wir eine Datenbankverbindung benötigen. In einer Seite, die ein Pagelet benötigt, müssen wir es zuerst mit der ASP -Anweisung auf der Seite registrieren. In der Richtlinie definieren wir TagPrefix, Tagname und Quelle (SRC). Ähnlich wie bei der Include -Datei in ASP sollten TagPrefix und Tagname dort verwendet werden, wo wir das Pagelet platzieren.
< %@ Register tagprefix = sieben tagname = connect
src = http: //www.alixi.com/dev/web/asp/asp_1/2007/_includes/connect.aspc %>
Die Methode zum Platzieren des gerade registrierten Leidens ähnelt der ASP -Serversteuerung:
<[TagPrefix]: [TagName] id = mypagelet runat = server />
Zum Beispiel:
<sieben: Connect id = Connect Runat = Server />
In ADO wird das Konzept der Datensatzsätze durch eine Kombination aus Datensätzen und Dataviews ersetzt. Wir werden diese beiden Konzepte später diskutieren. Lassen Sie uns zunächst sehen, welche Änderungen nach der Seite Standard.asp auf Standard.aspx (das Suffix der ASP -Seite) aufgetreten sind. Schauen wir uns zuerst default.asp an:
<!-#include Datei = _includes/Connect.inc->
< %
Dim Cneville_db, Rsuping, Strsqlupcoming
Setzen Sie rsupcoming = server.createObject (adodb.recordset)
strsqlupcoming = Select Top 2 & _
Classes.title, siessions.session_id, & _
Sitzungen.Special, Classes.Description & _
Aus Klassen Inner -Join -Sitzungen auf & _
Classes.class_id = sissions.classid & _
Wobei (((Sitzungen.Date)> Date ()) & _
Bestellung nach Sitzungen.Date
rsupcoming.open strsqlupcoming, cneville_db
%>
In ASP wird es Standard.aspx:
< %@ Importieren namespace = system.data %>
< %@ Importieren namespace = system.data.ado %>
< %@ Register tagprefix = sieben tagname = connect & _
src = http: //www.alixi.com/dev/web/asp/asp_1/2007/_includes/connect.aspc %>
<Skript Sprache = vb runat = server>
Sub page_load (Quelle als Objekt, E als EventArgs)
Dim DSCuping als Adodatasetcommand
Dim Dsuping als neuer Datensatz
Dim Strsql als Zeichenfolge
STRSQL = Top 2 Klassen auswählen.
Sitzungen.Session_id, classes.description & _
Aus Klassen Inner -Join -Sitzungen auf & _
Classes.class_id = sissions.classid & _
Wobei (((Sitzungen.Date)> Date ()) & _
Bestellung nach Sitzungen.Date
DSCUPCOCKS = NEU ADODATASETCOMMAND (STRSQL, CONNECT.ConnectTodb ())
DSCUPUCKING.FILLDATASET (DSUPUCKNOCK, KOMMLIGE)
Ende sub
< /script>
Der Kern des Datenzugriffs, ANSI-SQL-Anweisungen haben nach der Konvertierung nichts
Teile: Diskussion zum Steuerungsstatus und Ansichtsstatus von ASP.NET 2.0 Grundlegende Konzeptestatusstatus - Damit die Kontrolle ordnungsgemäß funktioniert, sind manchmal die Steuerungsstatusdaten erforderlich. Wenn Sie beispielsweise eine benutzerdefinierte Steuerung mit unterschiedlichen Registerkarten schreiben, die unterschiedliche Informationen zeigen, muss die Steuerung wissen, dass die Kontrolle wie erwartet funktioniert