DataBinder Klas

Definitie

Biedt ondersteuning voor ontwerpers van snelle toepassingsontwikkeling (RAD) voor het genereren en parseren van syntaxis van expressies voor gegevensbinding. Deze klasse kan niet worden overgenomen.

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

Voorbeelden

In het volgende voorbeeld wordt de statische GetPropertyValue methode gebruikt om de velden van een Repeater besturingselement te vullen met behulp van een ArrayList object Product . De Eval methode kan worden toegepast met dezelfde syntaxis, maar wordt niet zo snel uitgevoerd.

In dit voorbeeld wordt een aangepaste Product klasse gebruikt waarmee een tekenreekseigenschap Model en een numerieke UnitPrice eigenschap worden weergegeven.

<%@ 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>

De volgende code is de aangepaste Product klasse. Deze code moet worden opgenomen in een afzonderlijk klassebestand in de map App_Code, zoals Product.cs of 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

Opmerkingen

U kunt de overbelaste statische Eval methode van deze klasse gebruiken in de syntaxis van gegevensbinding op een ASP.NET webpagina. Dit biedt een eenvoudigere syntaxis om mee te werken dan standaardgegevensbinding. Omdat DataBinder.Eval automatische typeconversie echter wordt geboden, kan dit leiden tot tragere prestaties.

Zie Binding to Databases and Data-Binding Expressions Overview voor meer informatie over ASP.NET gegevensbinding, expressies en syntaxis.

Vanaf .NET Framework 4.5 kunt u modelbinding gebruiken om een aantal taken te vereenvoudigen die u moest uitvoeren via gegevensbinding in eerdere versies. Zie Modelbinding en Web Forms voor een reeks zelfstudies over het gebruik van modelbinding met Web Forms.

Constructors

Name Description
DataBinder()

Initialiseert een nieuw exemplaar van de DataBinder klasse.

Eigenschappen

Name Description
EnableCaching

Hiermee wordt een waarde opgehaald of ingesteld die aangeeft of gegevenscaching tijdens runtime is ingeschakeld.

Methoden

Name Description
Equals(Object)

Bepaalt of het opgegeven object gelijk is aan het huidige object.

(Overgenomen van Object)
Eval(Object, String, String)

Evalueert expressies voor gegevensbinding tijdens runtime en formatteert het resultaat als een tekenreeks.

Eval(Object, String)

Evalueert expressies voor gegevensbinding tijdens runtime.

GetDataItem(Object, Boolean)

Hiermee wordt het gedeclareerde gegevensitem van een object opgehaald, wat aangeeft dat het is gelukt of mislukt.

GetDataItem(Object)

Hiermee wordt het gedeclareerde gegevensitem van een object opgehaald.

GetHashCode()

Fungeert als de standaardhashfunctie.

(Overgenomen van Object)
GetIndexedPropertyValue(Object, String, String)

Haalt de waarde van de opgegeven eigenschap voor de opgegeven container op en formatteert de resultaten.

GetIndexedPropertyValue(Object, String)

Haalt de waarde van een eigenschap van de opgegeven container en het navigatiepad op.

GetPropertyValue(Object, String, String)

Haalt de waarde van de opgegeven eigenschap van het opgegeven object op en formatteert de resultaten.

GetPropertyValue(Object, String)

Haalt de waarde van de opgegeven eigenschap van het opgegeven object op.

GetType()

Hiermee haalt u de Type huidige instantie op.

(Overgenomen van Object)
IsBindableType(Type)

Bepaalt of het opgegeven gegevenstype kan worden gebonden.

MemberwiseClone()

Hiermee maakt u een ondiepe kopie van de huidige Object.

(Overgenomen van Object)
ToString()

Retourneert een tekenreeks die het huidige object vertegenwoordigt.

(Overgenomen van Object)

Van toepassing op

Zie ook