DataBinder Klasse
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Bietet Unterstützung für schnelle Anwendungsentwicklungs-Designer (RAD) zum Generieren und Analysieren von Datenbindungsausdruckssyntax. 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 eines ArrayList Objekts Product aufzufüllen. Die Eval Methode könnte mit derselben Syntax angewendet werden, aber sie würde nicht so schnell ausgeführt werden.
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 eine separate Klassendatei im App_Code Verzeichnis eingeschlossen werden, 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 jedoch DataBinder.Eval 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 Binding to Databases and Data-Binding Expressions Overview.
Ab .NET Framework 4.5 können Sie modellbindung verwenden, um einige der Aufgaben zu vereinfachen, die Sie durch Datenbindung in früheren Versionen ausführen mussten. Eine Lernprogrammreihe zur Verwendung der Modellbindung mit WebFormularen finden Sie unter "Model Binding" und "Web Forms".
Konstruktoren
| Name | Beschreibung |
|---|---|
| DataBinder() |
Initialisiert eine neue Instanz der DataBinder-Klasse. |
Eigenschaften
| Name | Beschreibung |
|---|---|
| EnableCaching |
Dient zum Abrufen oder Festlegen eines Werts, der angibt, ob die Datenzwischenspeicherung zur Laufzeit aktiviert ist. |
Methoden
| Name | Beschreibung |
|---|---|
| Equals(Object) |
Bestimmt, ob das angegebene Objekt dem aktuellen Objekt entspricht. (Geerbt von Object) |
| Eval(Object, String, String) |
Wertet Datenbindungsausdrücke zur Laufzeit aus und formatiert das Ergebnis als Zeichenfolge. |
| Eval(Object, String) |
Wertet Datenbindungsausdrücke zur Laufzeit aus. |
| GetDataItem(Object, Boolean) |
Ruft das deklarierte Datenelement eines Objekts ab, das auf Erfolg oder Fehler hinweist. |
| GetDataItem(Object) |
Ruft das deklarierte Datenelement eines Objekts ab. |
| GetHashCode() |
Dient als Standardhashfunktion. (Geerbt von Object) |
| GetIndexedPropertyValue(Object, String, String) |
Ruft den Wert der angegebenen Eigenschaft für den angegebenen Container ab und formatiert die Ergebnisse. |
| GetIndexedPropertyValue(Object, String) |
Ruft den Wert einer Eigenschaft des angegebenen Containers und des Navigationspfads ab. |
| GetPropertyValue(Object, String, String) |
Ruft den Wert der angegebenen Eigenschaft des angegebenen Objekts ab und formatiert dann die Ergebnisse. |
| GetPropertyValue(Object, String) |
Ruft den Wert der angegebenen Eigenschaft des angegebenen Objekts ab. |
| GetType() |
Ruft die Type der aktuellen Instanz ab. (Geerbt von Object) |
| IsBindableType(Type) |
Bestimmt, ob der angegebene Datentyp gebunden werden kann. |
| MemberwiseClone() |
Erstellt eine flache Kopie der aktuellen Object. (Geerbt von Object) |
| ToString() |
Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt. (Geerbt von Object) |