Kapitel 10 Implementierung des BLOG-Veranstaltungskalenders
Da es sich bei Dokings BLOG um eine Studiennotiz handelt, können Sie alle Notizen und Notizantworten überprüfen, indem Sie auf den Kalender drücken.
Schwierigkeitsanalyse: Sollten wir das Kalendersteuerelement „Kalender“ direkt zur Vorlage hinzufügen? NEIN! Das wird nicht funktionieren! Da es sich bei dem Calendar-Kalendersteuerelement um ein Serversteuerelement handelt, muss es in einer Form vorliegen, die runat="server" enthält. Allerdings kann es auf einer Seite nur eine Form geben, die runat="server" enthält, andernfalls wird der in Abbildung 10-1 gezeigte Fehler angezeigt wird manchmal auftreten.
Abbildung 10-1 Was soll ich tun, wenn die Seite nur einen Fehler enthalten kann, der das runat="server"-Formular enthält
? Hier ist ein eingebettetes Framework für die Übertragung.
10.1 Kalendersteuerung „Kalender“ hinzufügen
(1) Erstellen Sie eine neue leere dynamische ASP.NET VB-Seite.
(2) Fügen Sie das runat="server"-Formular ein, holen Sie es heraus und legen Sie ID="Calfrm" fest.
(3) Klicken Sie im ASP.NET-Kontextmenü auf die Schaltfläche „Weitere Tags“ und wählen Sie im Popup-Dialogfeld [Tag-Auswahl] unter „ASP.NET-Tags“ die Option „ASP-Kalender“ aus, wie in Abbildung 10-2 dargestellt .
Abbildung 10-2 Einfügen des Tags „asp Calendar“
(4) Klicken Sie auf die Schaltfläche „Einfügen“. Das Dialogfeld [Tag Editor – Kalender] wird angezeigt, wie in Abbildung 10-3 dargestellt. In diesem Dialog können Sie den Stil des Kalender-Steuerelements „Kalender“ festlegen. Da es auf Chinesisch ist, werde ich hier nicht näher darauf eingehen.
(5) Speichern Sie die dynamische ASP.NET VB-Seite als dkCalendar.aspx. Durchsuchen Sie den IE, wie in Abbildung 10-4 dargestellt.
Abbildung 10-3 Dialogfeld [Tag-Editor – Kalender].
Abbildung 10-4 Durchsuchen von dkCalendar.aspx im IE
In Abbildung 10-1-4 können Sie sehen, dass die Anzeige der Woche zu lang und hässlich ist! Es wäre schön, wenn dort „Tag, eins, zwei, drei, vier, fünf, sechs“ stehen würde.
10.2 Ändern der Wochenanzeige des Kalenders
(1) Öffnen Sie dkCalendar.aspx in Dreamweaver, wechseln Sie zur Codeansicht und suchen Sie nach dem folgenden Code:
<
%@ Page Language="VB" ContentType="text/html" ResponseEncoding="gb2312 " %>
Ändern Sie es in:
<%@ Page Language="VB" Debug="true" Culture="zh-CN"%>
(2) Klicken Sie auf die Schaltfläche „à:xy“ im ASP.NET-Kontextmenü und fügen Sie ein Der Namespace, z. B. Wie in Abbildung 10-5 dargestellt.
(3) Fügen Sie zu diesem Zeitpunkt neuen Code hinzu:
<%@ Import Namespace="" %>
Der Eingabenamespace ist System.Globalization, dh der Code wird geändert in:
<%@ Import Namespace="System.Globalization" %>
(4) Fügen Sie erneut den Namespace System.Threading hinzu. Das Ergebnis ist in Abbildung 10-6 dargestellt.
Abbildung 10-5 Namensraum einfügen
Abbildung 10-6 Code nach dem Einfügen des Namespace
(5) Lassen Sie nach dem Code:
<%@ Import Namespace="System.Treading" %>
eine Leerzeile und fügen Sie den folgenden Code ein:
<script runat="server">
Dim dkday ' Definition Die globale Variable des Link-Strings, der durch Auswahl der Datumsfunktion
zum Ändern der Wochenanzeige
generiert wirdPrivate Sub Calendar1_PreRender(ByVal sender As Object, ByVal e As System.EventArgs) Behandelt Calendar1.PreRender
Dim dkwek = System.Threading.Thread. CurrentThread
Dim dknew = System.Globalization.CultureInfo.CurrentCulture.Clone()
dknew.DateTimeFormat.DayNames = New String() {"Day", "一", "二", "三", "四", "五", "六"}
dknew.DateTimeFormat.FirstDayOfWeek = DayOfWeek.Sunday
dkwek.CurrentCulture = dknew
End Sub
</script>
(6) Wählen Sie den ursprünglichen Code des Kalendersteuerelements Calendar1 aus und wechseln Sie zur Registerkarte [Eigenschaften] des Bedienfelds [Beschriftung]. , erweitern Sie die Option „Darstellung“, wählen Sie das Dropdown-Menü des Elements „DayNameFormat“ und wählen Sie „Vollständig“, wie in Abbildung 10-7 dargestellt.
(7) Speichern Sie dkCalendar.aspx und durchsuchen Sie es im IE. Das Ergebnis ist in Abbildung 10-8 dargestellt.
Abbildung 10-7 Wählen Sie den Wert „DayNameFormat“ als „Full“ aus. Abbildung 10-8Fügen Sie Kalenderereignisse
in IE 10.3 nach dem Ändern von dkCalendar.aspx
hinzu (1) Öffnen Sie dkCalendar.aspx in Dreamweaver, wechseln Sie zur Codeansicht und wählen Sie den Originalcode von aus Calendar1 , klicken Sie mit der rechten Maustaste darauf und wählen Sie „Edit Label (E) <asp:calendar>“ im Popup-Kontextmenü, wie in Abbildung 10-9 dargestellt.
Abbildung 10-9 Wählen Sie „Beschriftung bearbeiten (E) <asp:calendar>“
(2) Erweitern Sie im daraufhin angezeigten Dialogfeld [Beschriftung bearbeiten – Kalender] das Element „Ereignisse“, wählen Sie „OnSelectionChanged“ aus und klicken Sie auf „Kalender“. „OnSelectionChanged“ Geben Sie im Ereignistextbereich „Calendar1_SelectionChanged“ ein und klicken Sie auf die Schaltfläche „OK“, wie in Abbildung 10-10 dargestellt.
Abbildung 10-10 Bearbeiten des OnSelectionChanged-Ereignisses
(3) Fügen Sie den im roten Kreis in Abbildung 10-11 gezeigten Code im Code-Tag <script runat="server"> hinzu.
Abbildung 10-11 Calendar1_SelectionChanged-Ereignis hinzufügen
(4) Fügen Sie zwischen den Tags <head></head> den im roten Kreis in Abbildung 10-12 gezeigten Code ein.
(5) Suchen Sie das Tag <body> und ändern Sie es in den im roten Kreis in Abbildung 10-13 gezeigten Code.
Abbildung 10-12 Einfügen der Javascript-Funktion dkwk
Abbildung 10-13 Ändern des Tags <body>
(6) Setzen Sie das Element „DayNameFormat“ von Calendar1 erneut auf „Full“, siehe Schritt 6 in Abschnitt 10.2.
(7) Speichern Sie dkCalendar.aspx, öffnen Sie index.aspx und fügen Sie den folgenden Code in die page_load-Funktion ein:
if Request.QueryString("dkday")<>nothing then
Ztre.CommandText="SELECT * FROM ZTRE WHERE cstr(ZITIME) LIKE ' %" &Request.QueryString("dkday")&"%' ORDER BY ZITIME DESC"
else
if (request.QueryString("menanw")<>nothing) or (session("menanw")<>nothing) then
Ztre .CommandText = „SELECT * FROM ZTRE WHERE LMID = ? ORDER BY ZITIME DESC“
else
Ztre.CommandText = „SELECT * FROM ZTRE ORDER BY ZITIME DESC“
end if
end if
Das Ergebnis ist in Abbildung 10-14 dargestellt.
Abbildung 10-14 Fügen Sie Code (8) in der Funktion page_load hinzu,
um den ursprünglichen Code des Datensatzes Ztre zu finden, und löschen Sie die Befehlszeile, in der sich der Befehlstext befindet. Das Ergebnis ist im roten Kreis in Abbildung 10-15 dargestellt.
Abbildung 10-15 Der Originalcode (9) des geänderten Datensatzes Ztre
speichert index.aspx.
10.4 Einen eingebetteten Frame hinzufügen
(1) Öffnen Sie die Vorlage dkblog.dwt.aspx, klicken Sie im ASP.NET-Kontextmenü auf die Verknüpfungsschaltfläche „Weitere Tags“ und wählen Sie im daraufhin angezeigten Dialogfeld [Tag-Auswahl] die Option „HTML-Tags“ aus . Und wählen Sie das Element „iframe“ aus, wie in Abbildung 10-16 gezeigt.
Abbildung 10-16 Iframe-Tag (d. h. eingebetteten Frame) einfügen
(2) Klicken Sie auf die Schaltfläche „Einfügen“ und nehmen Sie im Popup-Dialogfeld [Tag-Editor – iframe] die relevanten Einstellungen für den einzufügenden eingebetteten Frame vor, wie gezeigt in Abbildung 10-17 dargestellt.
Abbildung 10-17 Relevante Einstellungen für den eingebetteten Frame vornehmen
(3) Klicken Sie auf die Schaltfläche „OK“, um zum Dialogfeld [Tag-Editor – iframe] zurückzukehren, und klicken Sie dann auf die Schaltfläche „Schließen“.
(4) Speichern Sie die Vorlage dkblog.dwt.aspx und aktualisieren Sie alle Webseiten.
(5) Durchsuchen Sie index.aspx im IE. Das Ergebnis ist in Abbildung 10-18 dargestellt.
Abbildung 10-18 Durchsuchen von index.aspx im IE.
Erinnerung: Tatsächlich ist die Implementierung von Kalenderereignissen ein sehr komplexes Ereignis. Hier ist nur ein einfaches Beispiel. Eine weitere Schwierigkeit in diesem Abschnitt ist die Steuerung des Hauptfensterobjekts durch das eingebettete Framework. Hier verwenden wir nur „ parent.location.href “, um den Fluss der Hauptfenster-Webseite zu steuern. Es bleibt den Lesern überlassen, diese langsam zu studieren.