Artikel-ID: 310082 - Geändert am: Mittwoch, 24. September 2003 - Version: 1.3

SO WIRD´S GEMACHT: Erweitern eines Webformular-Steuerelements für die Verwendung mit den Überprüfungs-Steuerelementen mit Visual Basic .NET

Dieser Artikel wurde zuvor veröffentlicht unter D310082
Dieser Artikel ist eine Übersetzung des folgenden englischsprachigen Artikels der Microsoft Knowledge Base:
310082  (http://support.microsoft.com/kb/310082/EN-US/ ) HOW TO: Extend a Web Form Control to Work with the Validation Controls Using Visual Basic .NET
Eine Version dieses Artikels für Microsoft Visual C# .NET finden Sie unter 310145  (http://support.microsoft.com/kb/310145/DE/ ) .
Bitte beachten Sie: Bei diesem Artikel handelt es sich um eine Übersetzung aus dem Englischen. Es ist möglich, dass nachträgliche Änderungen bzw. Ergänzungen im englischen Originalartikel in dieser Übersetzung nicht berücksichtigt sind. Die in diesem Artikel enthaltenen Informationen basieren auf der/den englischsprachigen Produktversion(en). Die Richtigkeit dieser Informationen in Zusammenhang mit anderssprachigen Produktversionen wurde im Rahmen dieser Übersetzung nicht getestet. Microsoft stellt diese Informationen ohne Gewähr für Richtigkeit bzw. Funktionalität zur Verfügung und übernimmt auch keine Gewährleistung bezüglich der Vollständigkeit oder Richtigkeit der Übersetzung.

Auf dieser Seite

Alles erweitern | Alles schließen

Zusammenfassung

Sie können nicht alle Webformular-Steuerelemente zusammen mit den Überprüfungs-Steuerelementen verwenden. Um ein Steuerelement mit den Überprüfungs-Steuerelementen verwenden zu können, muss das Steuerelement über ein ValidationProperty-Attribut verfügen. Das ValidationProperty-Attribut gibt an, welchen Wert die Überprüfungs-Steuerelemente überprüfen sollen. In diesem Artikel wird gezeigt, wie Sie ein Webformular-Steuerelement so erweitern, dass es mit den Überprüfungs-Steuerelementen interagiert.

Das Calendar-Steuerelement ist eines der Steuerelemente, die im Originalzustand nicht überprüft werden können. In vielen Fällen müssen Sie jedoch die Benutzerauswahl im Calendar-Steuerelement überprüfen können. Es gibt zwei Lösungen für dieses Problem:
  • Schreiben Sie ein benutzerdefiniertes Überprüfungs-Steuerelement.
  • Erweitern Sie das Calendar-Steuerelement so, dass Sie es mit den integrierten Überprüfungs-Steuerelementen verwenden können.
Dieser Artikel beschreibt die zweite Lösung. Wenn Sie ein benutzerdefiniertes Überprüfungs-Steuerelement schreiben wollen, lesen Sie das Hilfethema, auf das im Abschnitt Informationsquellen verwiesen wird.

Hinweis: Dieser Artikel beschreibt die Erweiterung des Calendar-Steuerelements nur für die serverseitige Überprüfung. Damit eine clientseitige Überprüfung erfolgen kann, werden die Überprüfungs-Steuerelemente mit der Value-Eigenschaft des entsprechenden HTML-Steuerelements verknüpft. Da zum Erstellen des Calendar-Steuerelements viele HTML-Steuerelemente verwendet werden, enthält kein einzelnes HTML-Steuerelement den ausgewählten Wert für das Calendar-Steuerelement. Daher ist die clientseitige Überprüfung nicht auf das Calendar-Steuerelement anwendbar.

Erweitern des Calendar-Steuerelements

Um das Calendar-Steuerelement zu erweitern, können Sie eine von dem vorhandenen Calendar-Steuerelement ererbte Klasse erstellen. Damit das Steuerelement mit den Überprüfungs-Steuerelementen interagieren kann, fügen Sie das ValidationProperty-Attribut und eine Eigenschaft hinzu, die das ausgewählte Datum in einem Format zurückgibt, das für die Überprüfungs-Steuerelemente geeignet ist.

Um die Verwendung des Steuerelements mit dem RequiredFieldValidator-Steuerelement zu ermöglichen, wird eine leere Zeichenfolge zurückgegeben, wenn die SelectedDate-Eigenschaft des Calendar-Steuerelements auf "01-Jan-0001" gesetzt wird, weil "01-Jan-0001" das Datum ist, das zurückgegeben wird, wenn kein Datum ausgewählt wird. In allen anderen Fällen wird eine Zeichenfolge zurückgegeben, die das Datum im Format JJJJ/MM/TT zurückgibt, das vom RangeValidator-Steuerelement verwendet werden kann.
  1. Öffnen Sie Microsoft Visual Studio .NET und erstellen Sie ein neues Visual Basic ASP.NET-Webanwendungsprojekt.
  2. Fügen Sie im Menü Projekt wie folgt eine neue Klasse zu Ihrer Anwendung hinzu:
    <ValidationProperty("Text")> Public Class VCalendar
    
        Inherits System.Web.UI.WebControls.Calendar
    
        Public ReadOnly Property Text()
            Get
                Dim DateString As String = Me.SelectedDate.ToString("yyyy/MM/dd")
                If DateString = "0001/01/01" Then
                    Return ""
                Else
                    Return DateString
                End If
            End Get
        End Property
    
    End Class
    Hinweis: Im oben stehenden Datumsformat muss "MM" groß geschrieben sein, da bei dem klein geschriebenen "mm" Minuten zurückgegeben werden. Wenn das Datum in diesem Format zurückgegeben wird, können Sie Zeichenfolgenvergleiche verwenden, um den Bereich zu überprüfen.
  3. Speichern Sie die Datei und klicken Sie im Menü Erstellen auf Erstellen, um die Anwendung zu erstellen.

Hinzufügen des Steuerelements zu einem Webformular

Um ein benutzerdefiniertes Steuerelement zu einem Webformular hinzuzufügen, müssen Sie oben in der Webseite eine Referenz hinzufügen. Dadurch wird der Namespace und Tag definiert, den Sie in der HTML verwenden.
  1. Fügen Sie eine .aspx-Seite zu dem Projekt hinzu.
  2. Verwenden Sie oben in der Seite die <%@ register %>-Direktive, um das Steuerelement wie folgt zu registrieren:
    <%@ Register TagPrefix="Custom" Namespace="ExtendCalendar" Assembly="csExtendCalendar" %>
    Hinweis: Sie müssen "Namespace" auf den in der Klassendatei verwendeten Namespace und "Assembly" auf den Projektnamen Ihrer Anwendung ändern.
  3. Fügen Sie wie folgt ein VCalendar-Steuerelement in den <FORM runat="server"></FORM>-Tag ein:
    <CUSTOM:VCALENDAR id="MyCalendar" runat="server"></CUSTOM:VCALENDAR>
  4. Wechseln Sie zur Entwurfsansicht. Das Calendar-Steuerelement müsste auf dem Webformular erscheinen. Wenn das Calendar-Steuerelement nicht erscheint, überprüfen Sie, ob die Einstellungen für "Namespace" und "Assembly" korrekt sind.

Verknüpfen mit Überprüfungs-Steuerelementen

Der Beispielcode in diesem Abschnitt zeigt, wie Sie ein RangeValidator- und ein RequiredFieldValidator-Steuerelement zu dem Webformular hinzufügen und wie Sie sie mit dem VCalendar-Steuerelement verknüpfen.
  1. Fügen Sie ein RangeValidator- und ein RequiredFieldValidator-Steuerelement zu dem Webformular hinzu und setzen Sie die Eigenschaften dieser Steuerelemente wie folgt, um diese Steuerelemente mit dem Calendar-Steuerelement zu verknüpfen:

    RangeValidator:
    ControlToValidate: MyCalendar
    ErrorMessage: Datum muss zwischen 10/1/2001 und 10/31/2001 liegen
    MinimumValue: 2001/10/01
    MaximumValue: 2001/10/31
    EnableClientScript: False
    RequiredFieldValidator:
    ControlToValidate: MyCalendar
    ErrorMessage: Bitte geben Sie ein Datum ein!
    EnableClientScript: False
  2. Fügen Sie ein Webformular-Button-Steuerelement zu der Seite hinzu.

Testen der Webseite

  1. Klicken Sie im Menü Erstellen auf Erstellen, um die Anwendung zu erstellen.
  2. Klicken Sie im Projektmappen-Explorer mit der rechten Maustaste auf das Webformular und klicken Sie anschließend auf In Browser anzeigen.
  3. Es sollte eine Seite mit einem Calendar-Steuerelement und einer Schaltfläche angezeigt werden. Klicken Sie auf die Schaltfläche. Die RequiredFieldValidator-Fehlermeldung sollte angezeigt werden.
  4. Wählen Sie ein Datum außerhalb des Bereichs 01. Okt. 2001 bis 31. Okt. 2001 aus und klicken Sie anschließend auf die Schaltfläche. Die RequiredFieldValidator-Fehlermeldung sollte verschwinden und die RangeValidator-Fehlermeldung sollte angezeigt werden.
  5. Wählen Sie ein Datum im Bereich 01. Okt. 2001 bis 31. Okt. 2001 aus und klicken Sie anschließend auf die Schaltfläche. Es sollte keine der Überprüfungs-Meldungen angezeigt werden.

Informationsquellen

Weitere Informationen erhalten Sie unter dem Thema "Web Forms Validation" in der Onlinehilfe für Microsoft Visual Studio .NET. Dieses Thema enthält Links zu weiteren "Web Forms Validation"-Themen. Um nach diesem Thema zu suchen, geben Sie Web Forms Validation in die Suchfunktion der Hilfedokumentation ein und wählen Sie Nur in Titeln suchen aus.


Die Informationen in diesem Artikel beziehen sich auf:
  • Microsoft Visual Basic .NET 2002 Standard Edition
  • Microsoft ASP .NET (Bestandteil von .NET-Framework)
Keywords: 
kbhowto kbhowtomaster kbctrlcreate kbservercontrols KB310082
Microsoft stellt Ihnen die in der Knowledge Base angebotenen Artikel und Informationen als Service-Leistung zur Verfügung. Microsoft übernimmt keinerlei Gewährleistung dafür, dass die angebotenen Artikel und Informationen auch in Ihrer Einsatzumgebung die erwünschten Ergebnisse erzielen. Die Entscheidung darüber, ob und in welcher Form Sie die angebotenen Artikel und Informationen nutzen, liegt daher allein bei Ihnen. Mit Ausnahme der gesetzlichen Haftung für Vorsatz ist jede Haftung von Microsoft im Zusammenhang mit Ihrer Nutzung dieser Artikel oder Informationen ausgeschlossen.
 

SPRACHE AUSWÄHLEN

 

Related Support Centers