DataBinder Klas
Definitie
Belangrijk
Bepaalde informatie heeft betrekking op een voorlopige productversie die aanzienlijk kan worden gewijzigd voordat deze wordt uitgebracht. Microsoft biedt geen enkele expliciete of impliciete garanties met betrekking tot de informatie die hier wordt verstrekt.
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) |