Gewusst wie: Dynamisches Anpassen von Elementen im DataList-Webserversteuerelement

Aktualisiert: November 2007

Sie können Elemente im DataList-Steuerelement dynamisch anpassen. Das bietet die Möglichkeit, Merkmale von Elementen anhand von Informationen festzulegen, die erst zur Laufzeit verfügbar sind. Dieses Thema enthält zwei Beispiele, die veranschaulichen, wie die Elemente in einem DataList-Steuerelement angepasst werden.

Im ersten Codebeispiel wird erläutert, wie ein einzelnes Element angepasst wird, wenn für die Anpassung keine Daten erforderlich sind. Das Beispiel enthält verschiedene Vorlagentypen mit unterschiedlichen Hintergrundfarben.

Im zweiten Codebeispiel wird erläutert, wie der Inhalt eines Elements in einem DataList-Steuerelement anhand der im Element angezeigten Daten angepasst wird. Der Code untersucht den Inhalt einer datengebundenen Bezeichnung in dem Element, um ein Datum zu extrahieren (Geburtsdatum). Wenn der Geburtsmonat derselbe ist wie der aktuelle Monat, wird das Element farblich hervorgehoben.

Beispiel

' Example 1
Private Sub DataList1_ItemCreated(ByVal sender As Object, _
        ByVal e As System.Web.UI.WebControls.DataListItemEventArgs) _
        Handles DataList1.ItemCreated
    Select Case e.Item.ItemType
        Case ListItemType.Item
            e.Item.BackColor = Color.LightGoldenrodYellow
        Case ListItemType.AlternatingItem
            e.Item.BackColor = Color.DarkGoldenrod
        Case ListItemType.SelectedItem
            e.Item.BackColor = Color.Yellow
        Case Else
         ' Add code here to handle the header, footer, and
         ' separator templates.
    End Select
End Sub

' Example 2
Private Sub DataList1_ItemDataBound(ByVal sender As Object, _
        ByVal e As System.Web.UI.WebControls.DataListItemEventArgs) _
        Handles DataList1.ItemDataBound
    Dim dob As DateTime
    Dim doblabel As Label
    doblabel = CType(e.Item.FindControl("Label1"), Label)
    dob = CType(doblabel.Text, DateTime)
    If dob.Month = Today.Month Then
        e.Item.BackColor = Color.Yellow
    End If
End Sub

Kompilieren des Codes

Für diese Beispiele gelten folgende Voraussetzungen:

Robuste Programmierung

Die zuverlässigste Art, den Wert eines Steuerelements in einer DataList-Steuerelementvorlage zu extrahieren, ist folgende:

  1. Weisen Sie dem Steuerelement zur Entwurfszeit eine ID zu.

  2. Verwenden Sie die FindControl-Methode des Bennenungscontainers (in diesem Beispiel ein DataListItem-Objekt).

Die FindControl-Methode gibt ein Objekt vom Typ Control zurück. Sie müssen dieses Objekt in den entsprechenden Steuerelementtyp umwandeln. Wenn kein Objekt gefunden wird und Sie versuchen, seinen Wert zu extrahieren, löst das Steuerelement eine Ausnahme vom Typ NullReferenceException aus.

Siehe auch

Aufgaben

Gewusst wie: Anpassen von DataList-Elementen zur Laufzeit

Konzepte

Steuerelementidentifikation in Web Forms