Kapitel 5 Notizenmenüspalten und Implementierung von Antworten
Die in Kapitel 4 fertiggestellte Startseite ist tatsächlich sehr unvollständig. Erstens gibt es keine Links in den Notizmenüspalten und sie können zweitens nicht angeklickt werden Drittens: Wenn Sie auf den Autor klicken, können Sie nicht auf die Informationen des Autors verlinken. Diese Funktionen werden in diesem Kapitel verbessert.
: Ändern Sie den Hyperlink der Menüspalte in der Vorlage bkblog.dwt.aspx und aktualisieren Sie dann beim Öffnen der Homepage alle Webseiten, um den Inhalt der Studiennotizen anzuzeigen Klicken Sie in absteigender Zeitreihenfolge auf die Menüspalte. Der Inhalt der Studiennotizen kann auch in absteigender Zeitreihenfolge nach Spalten angezeigt werden.
5.1.1 Vorlagenmenü erstellen
(1) Öffnen Sie die Vorlage bkblog.dwt.aspx, wählen Sie dynamischen Text (menuda.LM), erstellen Sie einen Hyperlink, verknüpfen Sie ihn mit der Homepage (index.aspx), wählen Sie [Code-Anzeigeansicht] und verschieben Sie ihn Bewegen Sie die Maus an die Stelle, an der die rote vertikale Linie in Abbildung 5-1-1 dargestellt ist. (Keine besonderen Anweisungen unten, alle Symbole sind englische Zeichen)
Abbildung 5-1-1 Bewegen Sie die Maus zum Link-Attribut
(2). Geben Sie „?menanw=" ein (menanw ist die Parametervariable), wechseln Sie zum Bedienfeld [Binding] und ziehen Sie das Feld LMID unter den Datensatz (menuda). gerade Nach der Eingabe des Gleichheitszeichens ist das Ergebnis in Abbildung 5-1-2 dargestellt:
Abbildung 5-1-2 Dynamische Attribute (a.href) einfügen
(3) Wechseln Sie zum Bereich [Serververhalten]. Dort können Sie sehen, dass ein Serververhalten hinzugefügt wurde: dynamische Attribute (a.href), wie in Abbildung 5 dargestellt -1-3 :
Abbildung 5-1-3 Bedienfeld „Serververhalten
“ (4) Wählen Sie das Menü „Home“ und erstellen Sie einen Link zu index.aspx. Wählen Sie „Kontakt“ und erstellen Sie einen Link zu mailto:[email protected].
(5) Speichern Sie die Vorlage bkblog.dwt.aspx. Das in Abbildung 5-1-4 gezeigte Dialogfeld wird angezeigt.
Abbildung 5-1-4 Dialogfeld „Vorlagendatei aktualisieren“.
(6) Klicken Sie auf die Schaltfläche „Aktualisieren“, um die Notizmenüspalten zu vervollständigen und die Homepage index.aspx zu aktualisieren.
5.1.2 Spaltenanzeige auf der Startseite implementieren
(1) Öffnen Sie die Startseite index.aspx, wechseln Sie zum Bereich [Serververhalten], doppelklicken Sie auf den Datensatz (Ztre) und öffnen Sie das Popup-Dialogfeld für den Datensatz Klicken Sie auf die Schaltfläche „Erweitert“, wie in Abbildung 5-1-5 dargestellt. Wählen Sie den zu kopierenden SQL-Befehl im Textbereich [SQL] aus. Es wird empfohlen, ihn in den neu erstellten Notepad- oder Word-Text einzufügen (Sie können diesen Schritt überspringen, wenn Sie mit SQL vertraut sind). Sprache) .
Abbildung 5-1-5 Dialogfeld „Erweiterter Datensatz
“ (2) Klicken Sie auf die Schaltfläche „Einfach“, wählen Sie im Dropdown-Menü [Filter] das Filterfeld als LMID aus, wählen Sie „URL-Parameter“ als Parameterübertragungsmethode und die Eingabe aus Parametervariable ist menanw. Drücken Sie die Schaltfläche „OK“. Das Ergebnis wird in Abbildung 5-1-6 angezeigt:
Abbildung 5-1-6 Ändern Sie den Ztre-Datensatz zum Filtern
(3). Durchsuchen Sie die Startseite mit IE, aber die Browsing-Ergebnisse werden nicht aufgezeichnet, wie in Abbildung 5-1-7 dargestellt
Abbildung 5-1-7 Bild zum Durchsuchen der Startseite
(4) Klicken Sie beim Durchsuchen der Startseite des IE auf den Link „Netzwerkprogrammierung“. Das Ergebnis ist in Abbildung 4-3-3 im vorherigen Kapitel dargestellt und zeigt alle Studiennotizen zur Netzwerkprogrammierung .
„Moment mal, das entspricht nicht der ursprünglichen Designidee! Es kann nur spaltenweise angezeigt werden, nicht alle Studiennotizen!“ Es gibt auch ein Problem bei der Datenübertragung zwischen ASP.NET-Seiten: Daten zwischen Formularen in Windows-Anwendungen Die Übertragung kann durch die Definition globaler Variablen (öffentliche statische Variablen) und anderer Methoden erreicht werden. Diese Methoden können jedoch nicht zum Übertragen von Daten zwischen Webseiten in ASP.NET verwendet werden. Beispiel: Wenn Sie auf die Datensatz-Navigationsleiste klicken, werden die Daten von Ztre_currentPage übertragen, die Daten von menanw können jedoch nicht übertragen werden. Das heißt, wenn Sie auf einen Hyperlink in der Datensatz-Navigationsleiste klicken, werden die Daten übertragen Die von menan übertragenen Werte sind immer null, was nicht möglich ist. Es realisiert nicht nur die Spaltenanzeige, sondern führt gleichzeitig auch eine Paging-Anzeige unter den Spalten durch. Hier ist eine Lösung, die Sitzung zum Übergeben von Parametern verwendet.
(5) Um die Parametervariable menanw an session("menanw") zu übergeben, wechseln Sie zur Codeansicht und fügen Sie den im roten Kreis in Abbildung 5-1-8 gezeigten Code vor dem <html>-Tag ein.
Abbildung 5-1-8 Fügen Sie die Seite in index.aspx ein, um die Standardfunktion zu laden.
(6) Wählen Sie den Datensatz (Ztre) im Bereich [Serververhalten] aus, wie in Abbildung 5-1-9 gezeigt, der schwarze Teil ist der Datensatz (Ztre) Definitionscode.
Abbildung 5-1-9 Code des Datensatzes Ztre
(7) Suchen Sie den Code:
CommandText='<%# "SELECT * FROM ZTRE WHERE LMID = ? ORDER BY ZITIME ASC" %>'
Ändern Sie den obigen Code in:
CommandText=' <%# IIf(((request.QueryString("menanw")<>nothing) or Request.QueryString("Ztre_CurrentPage") <> Nothing),"SELECT * FROM ZTRE WHERE LMID = ? ORDER BY ZITIME DESC","SELECT * FROM ZTRE ORDER BY ZITIME DESC") %>'
(8) Code gefunden:
<Parameter Name="@LMID" Value='<%# IIf((request.QueryString("menanw") <> Nothing), request. QueryString("menanw"), "") %>' Type="Integer" /></Parameters></MM:DataSet>
Ändern Sie den obigen Code in:
<Parameter Name="@LMID" Value='<% # IIf((session("menanw") <> Nothing), session("menanw"), "") %>' Type="Integer" /></Parameters></MM:DataSet>
(9) IE-Durchsuchen durchführen Das Ergebnis ist in Abbildung 4-3-3 von Kapitel 4 dargestellt. Vervollständigen Sie die etablierten Designideen.
Designidee der Antwortseite: Durch Klicken auf den Titel der Notiz kann eine Seite verlinkt werden, inklusive der Notiz und allen dazugehörigen Antworten. Aus dem vorherigen Abschnitt ist ersichtlich, dass dies nicht schwierig ist. Dies kann erreicht werden, indem die Codeparameter dieser Notiz nur an den Hyperlink des Notiztitels übergeben werden.
5.2.1 Grundlegendes Seitendesign
(1) Erstellen Sie eine neue dynamische ASP.NET VB-Seite hf.aspx, die mit der Vorlage bkblog.dwt.aspx generiert wurde, fügen Sie die Tabelle ztre in den bearbeitbaren Hauptbereich ein und führen Sie entsprechende Designs aus. Das Ergebnis wird angezeigt in Abbildung 5-2-1 zeigt:
Abbildung 5-2-1 Tabellen-Ztre-Entwurfsdiagramm
(2) Starten Sie Access2003, richten Sie die FH-Tabelle ein und fragen Sie die YH-Tabellenverbindung HFRE ab. Tatsächlich sind die Verbindungsansicht und die Anzeigefelder in Abbildung 5-2-2 dargestellt.
Abbildung 5-2-2 Fragen Sie das relevante Design von HFRE ab
. (3) Befolgen Sie die Schritte (1) bis (3) in Abschnitt 4.2.2 Datensatz, um den Datensatz Ztre hinzuzufügen, ziehen Sie die Felder an die entsprechenden Positionen und führen Sie dynamischen Text aus (Ztre. ZYTEXT) Formateinstellung, das Ergebnis ist in Abbildung 5-2-3 dargestellt:
Abbildung 5-2-3 Daten an Tabelle ztre binden
(4) Ändern Sie den zu filternden Datensatz Ztre, das Filterfeld ist ZTID, wählen Sie „URL-Parameter“ als Parameterübertragungsmethode und die Eingabeparametervariable ist ztanw.
(5) Fügen Sie den Datensatz Hfre hinzu, das Filterfeld ist ZTID, wählen Sie „URL-Parameter“ als Parameterübertragungsmethode und die Eingabeparametervariable ist ztanw. Das Ergebnis ist in Abbildung 5-2-4 dargestellt:
Abbildung 5-2-4 Design des Datensatzes Hfre
(6) Ziehen Sie das Feld des Datensatzes Hfre an die entsprechende Position der Tabelle ztre und stellen Sie die Formateinstellung des dynamischen Texts (Htre.HFTEXT) auf „Kodierung – HTML-Kodierungsformat“ ein ", und ändern Sie das erste Feld der Tabelle ztre. Die Zeilen 5, 6 und 7 werden als sich wiederholende Bereiche definiert und die Daten werden in die Tabelle ztre eingelagert. Die Ergebnisse sind in Abbildung 5-2-5 dargestellt:
Abbildung 5-2-5 Binden Sie den Datensatz Htre an die Tabelle ztre
(7). Öffnen Sie die Startseite index.aspx, wählen Sie den dynamischen Text (Ztre.ZTNAME) aus, erstellen Sie einen Hyperlink, verknüpfen Sie ihn mit hf.aspx und wechseln Sie zum Code Zeigen Sie den Link an und ändern Sie das Attribut in: hf.aspx?ztanw=. Nachdem Sie das Feld ZTID unter dem Datensatz Ztre auf das Gleichheitszeichen gezogen haben, ist das Ergebnis wie in Abbildung 5-2-6 dargestellt:
Abbildung 5-2-6 Fügen Sie dynamische Hyperlinks im Code hinzu
(8) Speichern Sie hf.aspx und index.asps, geben Sie einige Datensätze in die entsprechende HF-Tabelle und YH-Tabelle in Access ein und durchsuchen Sie index.asps im IE-Browser. Klicken Sie auf das Thema der Studiennotiz mit Antwort, wie in Abbildung 5-2-7 dargestellt:
Abbildung 5-2-7 Anzeige der Antwortseite
(9) Klicken Sie dann auf einen beliebigen Hyperlink in der Datensatznavigation. Das Ergebnis ist wie in Abbildung 5-2-8 dargestellt:
Abbildung 5-2-8 Die Seite erscheint nach einem Klick auf die Datensatznavigation
! Alles weg! Dies ist das Problem der Datenübertragung zwischen ASP.NET-Webseiten. Es muss wie in Abschnitt 5.1 geändert werden.
(10) Wechseln Sie zur Codeansicht und fügen Sie den im roten Kreis in Abbildung 5-2-9 gezeigten Code vor dem <html>-Tag ein.
Abbildung 5-2-9 Fügen Sie die Seite in hf.aspx ein, um die Standardfunktion zu laden
(11) Suchen Sie den Code im Datensatz Ztre:
<Parameter Name="@ZTID" Value='<%# IIf((request.QueryString ("ztanw ") <> Nothing), request.QueryString("ztanw"), "") %>' Type="Integer" />
Ersetzen Sie request.QueryString("ztanw") im obigen Code durch session("ztanw "), Der Ergebniscode wird geändert in
<Parameter Name="@ZTID" Value='<%# IIf((session("ztanw")<> Nothing), session("ztanw"), "") %>' Type="Integer" />
(12) Suchen Sie den Code im Datensatz Hfre:
<Parameter Name="@ZTID" Value='<%# IIf((request.QueryString("ztanw") <> Nothing), request .QueryString("ztanw" ), "") %>' Type="Integer" />
Ersetzen Sie request.QueryString("ztanw") im obigen Code durch session("ztanw"), und der resultierende Code wird in
<
geändertParameter Name="@ZTID" Value= '<%# IIf((session("ztanw")<> Nothing), session("ztanw"), "") %>' Type="Integer" />
(13) Speichern Sie hf.aspx.