DataBinder Classe
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Prise en charge des concepteurs de développement rapide d'application (RAD, Rapid Application Development) pour générer et analyser la syntaxe d'expression des liaisons de données. Cette classe ne peut pas être héritée.
public ref class DataBinder sealed
public sealed class DataBinder
type DataBinder = class
Public NotInheritable Class DataBinder
- Héritage
-
DataBinder
Exemples
L’exemple suivant utilise la méthode statique GetPropertyValue pour remplir les champs d’un Repeater contrôle à l’aide d’un ArrayList d’objets Product
. La Eval méthode peut être appliquée avec la même syntaxe, mais elle ne fonctionne pas aussi rapidement.
Cet exemple utilise une classe personnalisée Product
qui expose une propriété string Model
et une propriété numérique UnitPrice
.
<%@ 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>
Le code suivant est la classe personnalisée Product
. Ce code doit être inclus dans un fichier de classe distinct dans le répertoire App_Code, tel que Product.cs ou 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
Remarques
Vous pouvez utiliser la méthode statique Eval surchargée de cette classe dans la syntaxe de liaison de données dans une page Web ASP.NET. Cela fournit une syntaxe plus facile à utiliser que la liaison de données standard. Toutefois, étant donné que DataBinder.Eval
fournit une conversion de type automatique, cela peut entraîner des performances plus lentes.
Pour plus d’informations sur ASP.NET liaison de données, les expressions et la syntaxe, consultez Vue d’ensemble de la liaison à des bases de données et des expressions de liaison de données.
À partir de .NET Framework 4.5, vous pouvez utiliser la liaison de modèle pour simplifier certaines des tâches que vous deviez effectuer via la liaison de données dans les versions antérieures. Pour obtenir une série de tutoriels sur l’utilisation de la liaison de modèles avec Web Forms, consultez Liaison de modèles et Web Forms.
Constructeurs
DataBinder() |
Initialise une nouvelle instance de la classe DataBinder. |
Propriétés
EnableCaching |
Obtient ou définit une valeur qui indique si la mise en cache des données est activée au moment de l'exécution. |
Méthodes
Equals(Object) |
Détermine si l'objet spécifié est égal à l'objet actuel. (Hérité de Object) |
Eval(Object, String) |
Évalue des expressions de liaison de données XPath au moment de l'exécution. |
Eval(Object, String, String) |
Évalue les expressions de liaison aux données au moment de l'exécution et met en forme le résultat sous forme de chaîne. |
GetDataItem(Object) |
Récupère l'élément de données déclaré d'un objet. |
GetDataItem(Object, Boolean) |
Récupère l'élément de données déclaré d'un objet, en indiquant le succès ou l'échec. |
GetHashCode() |
Fait office de fonction de hachage par défaut. (Hérité de Object) |
GetIndexedPropertyValue(Object, String) |
Récupère la valeur d'une propriété du conteneur spécifié et du chemin de navigation. |
GetIndexedPropertyValue(Object, String, String) |
Récupère la valeur de la propriété spécifiée pour le conteneur indiqué, puis met en forme les résultats. |
GetPropertyValue(Object, String) |
Récupère la valeur de la propriété spécifiée de l'objet indiqué. |
GetPropertyValue(Object, String, String) |
Récupère la valeur de la propriété spécifiée de l'objet indiqué, puis met en forme les résultats. |
GetType() |
Obtient le Type de l'instance actuelle. (Hérité de Object) |
IsBindableType(Type) |
Détermine si le type de données spécifié peut être lié. |
MemberwiseClone() |
Crée une copie superficielle du Object actuel. (Hérité de Object) |
ToString() |
Retourne une chaîne qui représente l'objet actuel. (Hérité de Object) |