Teilen über


DataBinder Klasse

Definition

Stellt Unterstützung für RAD (Rapid Application Development)-Designer bereit, um Syntax für Datenbindungsausdrücke zu generieren und zu analysieren. Diese Klasse kann nicht vererbt werden.

public ref class DataBinder sealed
public sealed class DataBinder
type DataBinder = class
Public NotInheritable Class DataBinder
Vererbung
DataBinder

Beispiele

Im folgenden Beispiel wird die statische GetPropertyValue Methode verwendet, um die Felder eines Repeater Steuerelements mithilfe ArrayList von -Objekten aufzufüllen Product . Die Eval -Methode könnte mit derselben Syntax angewendet werden, aber sie würde nicht so schnell funktionieren.

In diesem Beispiel wird eine benutzerdefinierte Product Klasse verwendet, die eine Zeichenfolgeneigenschaft Model und eine numerische UnitPrice Eigenschaft verfügbar macht.

<%@ Page Language="C#" %>
<%@ Import Namespace="ASPSample" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
protected void  Page_Load(object sender, EventArgs e)
{
        // Create and populate an ArrayList to store the products.
        ArrayList ProductList = new ArrayList();
        ProductList.Add(new Product("Standard", 99.95));
        ProductList.Add(new Product("Deluxe", 159.95));

        // Bind the array list to Repeater
        ListRepeater.DataSource = ProductList;
        ListRepeater.DataBind();
}
</script>

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <title>DataBinder Example</title>
</head>
<body>
<form id="Form2" runat="server">
<table>
<asp:Repeater id="ListRepeater" runat="server">
    <HeaderTemplate>
    <tr>
        <th style="width:50; text-align:left">Model</th>
        <th style="width:100; text-align:right">Unit Price</th>
    </tr>
    </HeaderTemplate>
    <ItemTemplate>
    <tr>
        <!-- Databind to the Product information using the DataBinder methods. 
             The Container.DataItem refers to the ArrayList object bound to 
             the ASP:Repeater in the Page Load event. -->
        <td>
            <%#DataBinder.GetPropertyValue(Container.DataItem, "Model")%>
        </td>
        <!-- Format the UnitPrice as currency. ({0:c}) -->
        <td style="text-align:right">
            <%#DataBinder.GetPropertyValue(Container.DataItem,
                         "UnitPrice", "{0:c}")%>
        </td>
    </tr>
    </ItemTemplate>
</asp:Repeater>
</table>
</form>
</body>
</html>
<%@ Page Language="vb" %>
<%@ Import Namespace="ASPSample" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
    Private Sub Page_Load(ByVal sender As System.Object, _
        ByVal e As System.EventArgs) Handles MyBase.Load

        ' Create and populate an ArrayList to store the products.
        Dim ProductList As New ArrayList
        ProductList.Add(New Product("Standard", 99.95))
        ProductList.Add(New Product("Deluxe", 159.95))

        ' Bind the array list to Repeater
        ListRepeater.DataSource = ProductList
        ListRepeater.DataBind()

    End Sub
</script>

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <title>DataBinder Example</title>
</head>
<body>
<form id="Form2" runat="server">
<table>
<asp:Repeater id="ListRepeater" runat="server">
    <HeaderTemplate>
    <tr>
        <th style="width:50; text-align:left">Model</th>
        <th style="width:100; text-align:right">Unit Price</th>
    </tr>
    </HeaderTemplate>
    <ItemTemplate>
    <tr>
        <!-- Databind to the Product information using the DataBinder methods. 
             The Container.DataItem refers to the ArrayList object bound to 
             the ASP:Repeater in the Page Load event. -->
        <td>
            <%#DataBinder.GetPropertyValue(Container.DataItem, "Model")%>
        </td>
        <!-- Format the UnitPrice as currency. ({0:c}) -->
        <td style="text-align:right">
            <%#DataBinder.GetPropertyValue(Container.DataItem, _
                         "UnitPrice", "{0:c}")%>
        </td>
    </tr>
    </ItemTemplate>
</asp:Repeater>
</table>
</form>
</body>
</html>

Der folgende Code ist die benutzerdefinierte Product Klasse. Dieser Code sollte in einer separaten Klassendatei im verzeichnis App_Code enthalten sein, z. B. Product.cs oder Product.vb.

namespace ASPSample
{

    public class Product
    {
        string _Model;
        double _UnitPrice;

        public Product(string Model, double UnitPrice)
        {
            _Model = Model;
            _UnitPrice = UnitPrice;
        }

        // The product Model.
        public string Model
        {
            get {return _Model;}
            set {_Model = value;}
        }
            
        // The price of the each product.
        public double UnitPrice
        {
            get {return _UnitPrice;}
            set {_UnitPrice = value;}
        }
    }
}
Namespace ASPSample

    Public Class Product
        Private _Model As String
        Private _UnitPrice As Double

        ' The product Model.
        Public Property Model() As String
            Get
                Return _Model
            End Get
            Set(ByVal Value As String)
                _Model = Value
            End Set
        End Property

        ' The price of the each product.
        Public Property UnitPrice() As Double
            Get
                Return _UnitPrice
            End Get
            Set(ByVal Value As Double)
                _UnitPrice = Value
            End Set
        End Property


        Public Sub New(ByVal Model As String, ByVal UnitPrice As Double)
            _Model = Model
            _UnitPrice = UnitPrice
        End Sub

    End Class

End Namespace

Hinweise

Sie können die überladene statische Eval Methode dieser Klasse in der Datenbindungssyntax in einer ASP.NET Webseite verwenden. Dies bietet eine einfachere Syntax als die Standarddatenbindung. Da DataBinder.Eval jedoch eine automatische Typkonvertierung bereitgestellt wird, kann dies zu einer langsameren Leistung führen.

Weitere Informationen zu ASP.NET Datenbindung, Ausdrücken und Syntax finden Sie unter Bindung an Datenbanken und Datenbindungsausdrücke – Übersicht.

Ab .NET Framework 4.5 können Sie die Modellbindung verwenden, um einige aufgaben zu vereinfachen, die Sie in früheren Versionen über die Datenbindung ausführen mussten. Eine Tutorialreihe zur Verwendung der Modellbindung mit Web Forms finden Sie unter Modellbindung und Web Forms.

Konstruktoren

DataBinder()

Initialisiert eine neue Instanz der DataBinder-Klasse.

Eigenschaften

EnableCaching

Ruft einen Wert ab, der angibt, ob zur Laufzeit die Datenzwischenspeicherung aktiviert ist

Methoden

Equals(Object)

Bestimmt, ob das angegebene Objekt gleich dem aktuellen Objekt ist.

(Geerbt von Object)
Eval(Object, String)

Wertet Datenbindungsausdrücke zur Laufzeit aus

Eval(Object, String, String)

Wertet zur Laufzeit Datenbindungsausdrücke aus und formatiert das Ergebnis als Zeichenfolge

GetDataItem(Object)

Ruft das deklarierte Datenelement eines Objekts ab

GetDataItem(Object, Boolean)

Ruft das deklarierte Datenelement eines Objekts ab, das den Erfolg oder Misserfolg angibt

GetHashCode()

Fungiert als Standardhashfunktion.

(Geerbt von Object)
GetIndexedPropertyValue(Object, String)

Ruft den Wert einer Eigenschaft des angegebenen Containers und Navigationspfades ab

GetIndexedPropertyValue(Object, String, String)

Ruft den Wert der angegebenen Eigenschaft für den angegebenen Container ab und formatiert die Ergebnisse

GetPropertyValue(Object, String)

Ruft den Wert der angegebenen Eigenschaft des angegebenen Objekts ab

GetPropertyValue(Object, String, String)

Ruft den Wert der angegebenen Eigenschaft des angegebenen Objekts ab und formatiert die Ergebnisse

GetType()

Ruft den Type der aktuellen Instanz ab.

(Geerbt von Object)
IsBindableType(Type)

Bestimmt, ob der angegebene Datentyp gebunden werden kann

MemberwiseClone()

Erstellt eine flache Kopie des aktuellen Object.

(Geerbt von Object)
ToString()

Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt.

(Geerbt von Object)

Gilt für:

Weitere Informationen