Freigeben über


Gewusst wie: Steuern der Monatsnavigation in einem Calendar-Webserversteuerelement

Aktualisiert: November 2007

Standardmäßig wird vom Kalender der Monat angezeigt, der das aktuelle Datum enthält. Benutzer können im Calendar-Steuerelement von Monat zu Monat navigieren, indem sie in der Titelleiste des Kalenders auf die Monatsnavigationslinks klicken. Eine Steuerung ist dahingehend möglich, ob Benutzern diese Links zum Klicken zur Verfügung stehen sollen.

Ebenso kann programmgesteuert navigiert werden. Dies ist nützlich, wenn Benutzern eine alternative Möglichkeit der Navigation zu einem bestimmten Monat geboten werden soll. Schließlich kann auf ein Ereignis reagiert werden, das ein Benutzer beim Navigieren auslöst.

So aktivieren oder deaktivieren Sie die Monatsnavigation

  • Legen Sie die ShowNextPrevMonth-Eigenschaft des Calendar-Steuerelements auf true oder false fest. Im Fall von false werden in der Titelleiste des Steuerelements keine LinkButton-Steuerelemente zum Navigieren zwischen den Monaten angezeigt.

    Tipp:

    Sie können die Darstellung der Monatsnavigationslinks mithilfe der Eigenschaften NextMonthText, PrevMonthText, NextPrevFormat und NextPrevStyle ändern.

So navigieren Sie programmgesteuert zwischen Monaten

  • Legen Sie die VisibleDate-Eigenschaft auf ein Datum in dem Monat fest, der angezeigt werden soll. Bei dem Datum kann es sich um einen beliebigen Tag des Monats handeln, in der Regel wird jedoch der erste Tag des Monats festgelegt. Wenn die VisibleDate-Eigenschaft leer ist (wenn sie auf DateTime.Empty festgelegt ist), wird der aktuell dargestellte Monat aus dem Wert der TodaysDate-Eigenschaft abgeleitet.

    Im folgenden Beispiel wird zum Februar 2000 navigiert:

    Calendar1.VisibleDate = New Date(2000, 2, 1)
    
    Calendar1.VisibleDate = new DateTime(2000, 2, 1);
    

    Ein Ändern der VisibleDate-Eigenschaft wirkt sich nicht auf die Werte der TodaysDate-Eigenschaft, der SelectedDayStyle-Eigenschaft und der SelectedDates-Eigenschaft aus.

Wenn die Monatsnavigation aktiviert wird, wird vom Steuerelement ein Ereignis ausgelöst, sobald der Benutzer zwischen Monaten wechselt. Dieses Ereignis kann behandelt werden, um die Standardmonatsnavigation zu ersetzen oder zu ergänzen. Werden z. B. zwei Calendar-Steuerelemente für eine Seite zur Reiseplanung verwendet, kann verhindert werden, dass der Benutzer für den Beginn der Reise einen späteren Monat als für das Ende der Reise festlegt.

So reagieren Sie auf ein Monatsnavigationsereignis

  • Erstellen Sie eine Methode für das VisibleMonthChanged-Ereignis des Steuerelements. Wenn dieses Ereignis ausgelöst wird, wurde die VisibleMonth-Eigenschaft durch das Steuerelement bereits um eins geändert.

    Das VisibleMonthChanged-Ereignis erhält ein einzelnes Argument vom Typ MonthChangedEventArgs. Die folgenden Eigenschaften dieses Arguments können verwendet werden, um Benutzeraktionen zu bestimmen oder zu überschreiben:

    Eigenschaft

    Beschreibung

    PreviousDate

    Der Wert des Monats, der angezeigt wurde, bevor von einem Benutzer auf eine Schaltfläche zur Monatsnavigation geklickt wurde. Durch einen Vergleich des Werts dieser Eigenschaft mit dem Wert der VisibleMonth-Eigenschaft des Steuerelements kann die Richtung ermittelt werden, in die der Benutzer navigiert. Legen Sie die VisibleDate-Eigenschaft auf diesen Wert fest, um zu verhindern, dass das Klicken des Benutzers eine Auswirkung hat.

    NewDate

    Der Wert des Monats, zu dem der Benutzer navigiert ist. Die VisibleDate-Eigenschaft wird auf diesen Wert aktualisiert, bevor das VisibleMonthChanged-Ereignis ausgelöst wird.

    Public Sub Calendar1_VisibleMonthChanged(ByVal sender As Object, _
       ByVal e As System.Web.UI.WebControls.MonthChangedEventArgs) _
       Handles Calendar1.VisibleMonthChanged
    
       ' Select the 10th and 25th of each month.
       Calendar1.SelectedDates.Clear()
       Calendar1.SelectedDates.Add(New DateTime(e.NewDate.Year, e.NewDate.Month, 10))
       Calendar1.SelectedDates.Add(New DateTime(e.NewDate.Year, e.NewDate.Month, 25))
    End Sub
    
    private void Calendar1_VisibleMonthChanged (object sender, 
       System.Web.UI.WebControls.MonthChangedEventArgs e)
    {
         // Select the 10th and 25th of each month.
         Calendar1.SelectedDates.Clear();
         Calendar1.SelectedDates.Add(new DateTime(e.NewDate.Year, e.NewDate.Month, 10));
         Calendar1.SelectedDates.Add(new DateTime(e.NewDate.Year, e.NewDate.Month, 25));
    }
    

Siehe auch

Konzepte

Übersicht über das Calendar-Webserversteuerelement