DataBinder Classe
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Fornisce il supporto per la generazione e l'analisi della sintassi di espressioni di associazione dati da parte di strumenti per lo sviluppo rapido di applicazioni (RAD, Rapid Application Development). La classe non può essere ereditata.
public ref class DataBinder sealed
public sealed class DataBinder
type DataBinder = class
Public NotInheritable Class DataBinder
- Ereditarietà
-
DataBinder
Esempio
Nell'esempio seguente viene usato il metodo statico GetPropertyValue per popolare i campi di un Repeater controllo usando un ArrayList oggetto .Product
Il Eval metodo potrebbe essere applicato con la stessa sintassi, ma non eseguirebbe rapidamente.
In questo esempio viene usata una classe personalizzata Product
che espone una proprietà stringa Model
e una proprietà numerica 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>
Il codice seguente è la classe personalizzata Product
. Questo codice deve essere incluso in un file di classe separato nella directory App_Code, ad esempio Product.cs o 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
Commenti
È possibile usare il metodo statico Eval di overload di questa classe nella sintassi del data binding in una pagina Web ASP.NET. In questo modo viene fornita una sintassi più semplice da usare rispetto al data binding standard. Tuttavia, poiché DataBinder.Eval
fornisce una conversione automatica dei tipi, può causare prestazioni più lente.
Per altre informazioni su ASP.NET data binding, espressioni e sintassi, vedere Binding to Database and Data Binding Expressions Overview(Binding to Database and Data Binding Expressions Overview).
A partire da .NET Framework 4.5, è possibile usare l'associazione di modelli per semplificare alcune delle attività che è necessario eseguire tramite il data binding nelle versioni precedenti. Per una serie di esercitazioni sull'uso dell'associazione di modelli con Web Forms, vedere Associazione di modelli e Web Form.
Costruttori
DataBinder() |
Inizializza una nuova istanza della classe DataBinder. |
Proprietà
EnableCaching |
Ottiene o imposta un valore che indica se la memorizzazione di dati nella cache è attivata in fase di esecuzione. |
Metodi
Equals(Object) |
Determina se l'oggetto specificato è uguale all'oggetto corrente. (Ereditato da Object) |
Eval(Object, String) |
Valuta le espressioni di associazione dati in fase di esecuzione. |
Eval(Object, String, String) |
Valuta le espressioni di associazione dati in fase di esecuzione e formatta il risultato come stringa. |
GetDataItem(Object) |
Recupera l'elemento di dati dichiarato di un oggetto. |
GetDataItem(Object, Boolean) |
Recupera l'elemento di dati dichiarato di un oggetto indicando l'esito positivo o negativo. |
GetHashCode() |
Funge da funzione hash predefinita. (Ereditato da Object) |
GetIndexedPropertyValue(Object, String) |
Recupera il valore di una proprietà del contenitore e del percorso di navigazione specificati. |
GetIndexedPropertyValue(Object, String, String) |
Recupera il valore della proprietà specificata per il contenitore specificato e quindi formatta i risultati. |
GetPropertyValue(Object, String) |
Recupera il valore della proprietà specificata dell'oggetto specificato. |
GetPropertyValue(Object, String, String) |
Recupera il valore della proprietà specificata dell'oggetto specificato e quindi formatta i risultati. |
GetType() |
Ottiene l'oggetto Type dell'istanza corrente. (Ereditato da Object) |
IsBindableType(Type) |
Determina se il tipo di dati specificato può essere associato. |
MemberwiseClone() |
Crea una copia superficiale dell'oggetto Object corrente. (Ereditato da Object) |
ToString() |
Restituisce una stringa che rappresenta l'oggetto corrente. (Ereditato da Object) |