Inhalt
Vorwort
1 Wie .NET und ASP.NET funktionieren
2 Installation
3 Hinweise zu VB.NET
4 »Hallo, Welt!« – Ein ASP.NET-Crashkurs
5 Die Page-Klasse
6 HTML-Serversteuerelemente
7 Validierung von Anwendereingaben
8 Webserversteuerelemente
9 Webserversteuerelemente für die Darstellung von Listen
10 Webserversteuerelemente selbst erstellen
11 Der Status von Seiten, Sitzungen und Applikationen
12 ASP.NET und Datenbanken
13 »Wer darf was?« ASP.NET und Sicherheit
14 Webanwendungen erstellen und konfigurieren
15 Leistungssteigerung durch Caching
16 Web Services
A Anhang
Index
Download (ca 14,3 MB)
Buch bestellen (29,90 EUR)
Ihre Meinung?@
<< zurück | Galileo Computing / <openbook> / Einstieg in ASP.NET | vor >>
Einstieg in ASP.NET von Matthias Lohrer
| Kapitel 8 Webserversteuerelemente
|  | 8.1 Webserversteuerelemente formatieren
|  |  | 8.1.1 Die FontInfo-Klasse
|  |  | 8.1.2 Die System.Drawing.Color-Struktur
|  |  | 8.1.3 Die Klasse Unit und die Enumeration UnitType
|  | 8.2 Button
|  |  | 8.2.1 OnClick
|  |  | 8.2.2 OnCommand
|  | 8.3 LinkButton
|  | 8.4 ImageButton
|  | 8.5 HyperLink
|  | 8.6 Label
|  | 8.7 Literal
|  | 8.8 Panel
|  | 8.9 TextBox
|  |  | 8.9.1 Mit JavaScript den Fokus setzen
|  | 8.10 CheckBox
|  | 8.11 Image
|  | 8.12 Webserversteuerelemente für Tabellen
|  | 8.13 RadioButton
|  | 8.14 Calendar
|  | 8.15 AdRotator
|  | 8.16 E-Mails versenden
|  |  | 8.16.1 Versand von E-Mails mit der Klasse SmtpMail
|  |  | 8.16.2 E-Mails mit der Klasse MailMessage erstellen
## 8.14 Calendar
Klasse | System.Web.UI.WebControls.Calendar
Deklaration | <asp:Calendar id="Calendar1" CellPadding="pixels" CellSpacing="pixels" DayNameFormat= "FirstLetter|FirstTwoLetters|Full|Short" FirstDayOfWeek="Default|Monday|Tuesday|Wednesday| Thursday|Friday|Saturday|Sunday" NextMonthText="HTML text" NextPrevFormat="ShortMonth|FullMonth|CustomText" PrevMonthText="HTML text" SelectedDate="date" SelectionMode="None|Day|DayWeek|DayWeekMonth" SelectMonthText="HTML text" SelectWeekText="HTML text" ShowDayHeader="True|False" ShowGridLines="True|False" ShowNextPrevMonth="True|False" ShowTitle="True|False" TitleFormat="Month|MonthYear" TodaysDate="date" VisibleDate="date" OnDayRender="OnDayRender-Methode" OnSelectionChanged="OnSelectionChanged-Methode" OnVisibleMonthChanged= "OnVisibleMonthChanged-Methode" runat="server" > <TodayDayStyle property="value"/> <DayHeaderStyle property="value"/> <DayStyle property="value"/> <NextPrevStyle property="value"/> <OtherMonthDayStyle property="value"/> <SelectedDayStyle property="value"/> <SelectorStyle property="value"/> <TitleStyle property="value"/> <TodayDayStyle property="value"/> <WeekendDayStyle property="value"/> </asp:Calendar>
Erzeugter HTML-Code | Umfangreiche Tabelle
Kurzcharakteristik | Das Calendar-Steuerelement erstellt einen Monatskalender. Der Anwender kann zum vorhergehenden und zum folgenden Monat wechseln und einen Tag selektieren.
Das Calendar-Steuerelement zeigt ein Kalenderblatt im Monatsformat. Der Anwender kann in den vorhergehenden oder in den folgenden Monat wechseln und einen Tag anklicken. Im Programmcode können Sie den angeklickten Datumswert weiterverarbeiten.
Achtung Das Calendar-Steuerelement allein bietet aber noch keine Möglichkeit, irgendwelche Einträge hinter einem Datum zu hinterlegen. Es geht tatsächlich nur darum, einen Datumswert zu selektieren. Alles andere müssen Sie selbst entwickeln.
webserver_calendar01.aspx demonstriert, dass das Calendar-Steuerelement bereits in seiner einfachsten Form ein komplettes Kalenderblatt anzeigt (siehe Abbildung 8.9).
    <!-- webserver_calendar01.aspx -->
    <%@ Page Language="VB" debug="True" Strict="True" %>
    <html><head>
    <title>Webserversteuerelemente: Calendar</title>
    </head><body>
    <h3>Calendar</h3>
    <form runat="server" id="myForm">
    <asp:Calendar runat="server" >
    </asp:Calendar>
    </form></body></html>
Hier klicken, um das Bild zu Vergrößern Abbildung 8.9 Eine Zeile Code genügt, um diesen Kalender zu erstellen. Die zahlreichen Attribute und die untergeordneten Elemente, über die das Calendar-Steuerelement verfügt, dienen vorwiegend dem Zweck, die Darstellung des Kalenders zu modifizieren. Farben und Formen des Kalenders können Sie beliebig ändern. Verschiedene Bereiche wie den Titel oder die Leiste mit den Wochentagen können Sie auf Wunsch auch ausblenden. Mit Ihrem Code können Sie auf drei Ereignisse reagieren.
| DayRender tritt ein, wenn eine Zelle mit einem Datum erstellt wird. Wenn Sie auf dieses Ereignis reagieren, können Sie den Inhalt der Tabellenzelle beeinflussen und hier zum Beispiel einen zusätzlichen Text hineinschreiben oder eine Grafik einbauen. An dieser Stelle im Code könnten Sie beispielsweise eine Datenbank nach Terminen abfragen.
| SelectionChanged tritt ein, wenn der Anwender ein Datum selektiert.
| VisibleMonthChanged tritt ein, wenn der Anwender zu einem anderen Monat weiterblättert.
webserver_calendar02.aspx enthält einen individuell gestalteten Kalender, der auf die Ereignisse SelectionChanged und DayRender reagiert (siehe Abbildung 8.10). Hier klicken, um das Bild zu Vergrößern Abbildung 8.10 Mit zahlreichen Attributen und Ereignissen können Sie Ihren Kalender individuell gestalten.
    <!-- webserver_calendar02.aspx -->
    <%@ Page Language="VB" debug="True" Strict="True" %>
    <script runat="server" >
    Public Sub tagesauswahl (ByVal sender As Object, _
                        ByVal e As EventArgs)
      ausgabe.innerText = "Ihr Terminwunsch: " _
                          & meinKalender.SelectedDate
    End Sub

    Public Sub tagesinhalt (ByVal sender As Object, _
                            ByVal e As DayRenderEventArgs)
       If e.Day.Date = #04/01/4004# Then
          e.Cell.Controls.Add
              (New LiteralControl("<br>Hochzeitstag!!!"))
       End If
    End Sub
    </script>
    <html><head>
    <title>Webserversteuerelemente: Calendar</title>
    </head><body>
    <h3>Calendar</h3>
    <form runat="server" id="myForm">
    <asp:Calendar id="meinKalender"
         CellPadding="5"
         CellSpacing="0"
         DayNameFormat="Full"
         FirstDayOfWeek="Monday"
         NextPrevFormat="FullMonth"
         SelectionMode="Day"
         ShowDayHeader="True"
         ShowGridLines="True"
         ShowNextPrevMonth="True"
         ShowTitle="True"
         TitleFormat="MonthYear"
         VisibleDate="04.04.4004"
         OnSelectionChanged="tagesauswahl"
         OnDayRender="tagesinhalt"
         runat="server" >
       <DayStyle ForeColor="white"
                 BackColor="blue" />
       <WeekendDayStyle ForeColor="white"
                        BackColor="red" />
       <TitleStyle ForeColor="black"
                   BackColor="white"
                   Font-Bold="true" />
       <DayHeaderStyle Font-Italic="true" />
       <SelectedDayStyle ForeColor="black"
                         BackColor="yellow" />
    </asp:Calendar>
    <p id="ausgabe" runat="server" />
    </form></body></html>
Mit dem Attribut VisibleDate legen Sie fest, welcher Monat angezeigt wird. Mit VisibleDate="04.04.4004" wird also der April im Jahr 4004 angezeigt. Anscheinend verkraftet .NET die kommenden Jahrtausendwechsel ohne Probleme. Das Attribut OnSelectionChanged="tagesauswahl" legt fest, dass die Prozedur tagesauswahl ausgeführt wird, wenn der Anwender ein Datum anklickt. Die Prozedur schreibt einen Terminwunsch unter den Kalender. Das Attribut OnDayRender="tagesinhalt" legt fest, dass beim Erstellen der einzelnen Datumszellen die Prozedur tagesinhalt ausgeführt wird. Der Code in dieser Prozedur sorgt dafür, dass beim 1.4.4004 der Hinweis auf den Hochzeitstag eingefügt wird. Die Ereignisprozedur tagesinhalt benötigt in ihrer Signatur ein spezielles Objekt vom Typ DayRenderEventArgs:
    Public Sub tagesinhalt (ByVal sender As Object, _
                            ByVal e As DayRenderEventArgs)
Das DayRenderEventArgs-Objekt bietet über seine Eigenschaft Cell den Zugriff auf das TableCell-Objekt, das momentan bearbeitet wird. Ein TableCell-Objekt verfügt über eine Controls-Auflistung, an die Sie beispielsweise eigene Steuerelemente anfügen können. So verfährt auch der Code von tagesinhalt:
    e.Cell.Controls.Add
                (New LiteralControl("<br>Hochzeitstag!!!"))
Hier wird reiner Text eingefügt, der in ASP.NET durch ein Objekt vom Typ LiteralControl repräsentiert wird.
<< zurück | <top> | vor >>
Zum Katalog
Einstieg in ASP.NET bestellen
Ihre Meinung?
Wie hat Ihnen das <openbook> gefallen? Ihre Meinung

.NET-Bibliothek
| Einstieg in VB.NET
| VB.NET
| Einstieg in C#
| Visual C#
| VB.NET und Datenbanken

Empfehlung
| Einstieg in XML

Shopping
Versandkostenfrei bestellen in Deutschland und Österreich Info

MyGalileo
Der Service für registrierte Leser: Info

Copyright © Galileo Press GmbH 2003
Für Ihren privaten Gebrauch dürfen Sie die Online-Version natürlich ausdrucken. Ansonsten unterliegt das <openbook> denselben Bestimmungen, wie die gebundene Ausgabe: Das Werk einschließlich aller seiner Teile ist urheberrechtlich geschützt. Alle Rechte vorbehalten einschließlich der Vervielfältigung, Übersetzung, Mikroverfilmung sowie Einspeicherung und Verarbeitung in elektronischen Systemen.

[Galileo Computing]
Galileo Press GmbH, Gartenstraße 24, 53229 Bonn, Tel.: 0228.42150.0, Fax 0228.42150.77, info@galileo-press.de