DataBinder Třída
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Poskytuje podporu pro návrháře rychlého vývoje aplikací (RAD) pro generování a analýzu syntaxe výrazů vazby dat. Tato třída se nemůže dědit.
public ref class DataBinder sealed
public sealed class DataBinder
type DataBinder = class
Public NotInheritable Class DataBinder
- Dědičnost
-
DataBinder
Příklady
Následující příklad používá statickou GetPropertyValue metodu k naplnění polí Repeater ovládacího prvku pomocí ArrayListProduct objektu. Tuto Eval metodu je možné použít se stejnou syntaxí, ale neprovádí se tak rychle.
Tento příklad používá vlastní Product třídu, která zveřejňuje řetězcovou Model vlastnost a číselnou UnitPrice vlastnost.
<%@ 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>
Následující kód je vlastní Product třída. Tento kód by měl být součástí samostatného souboru třídy v adresáři App_Code, například Product.cs nebo 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
Poznámky
Můžete použít přetíženou statickou Eval metodu této třídy v syntaxi datové vazby na webové stránce ASP.NET. To poskytuje jednodušší syntaxi pro práci s než standardní datovou vazbou. Protože DataBinder.Eval ale poskytuje automatický převod typu, může to vést k pomalejšímu výkonu.
Další informace o ASP.NET vazbě dat, výrazech a syntaxi najdete v tématu Binding to Databases a Data-Binding Expressions Overview.
Počínaje .NET Framework 4.5 můžete pomocí vazby modelu zjednodušit některé úlohy, které jste museli provádět prostřednictvím datové vazby v dřívějších verzích. Série kurzů o použití vazby modelu s webovými formuláři najdete v tématu Vazby modelu a webové formuláře.
Konstruktory
| Name | Description |
|---|---|
| DataBinder() |
Inicializuje novou instanci DataBinder třídy. |
Vlastnosti
| Name | Description |
|---|---|
| EnableCaching |
Získá nebo nastaví hodnotu, která označuje, zda je ukládání dat do mezipaměti povoleno za běhu. |
Metody
| Name | Description |
|---|---|
| Equals(Object) |
Určuje, zda je zadaný objekt roven aktuálnímu objektu. (Zděděno od Object) |
| Eval(Object, String, String) |
Vyhodnotí výrazy vazby dat za běhu a naformátuje výsledek jako řetězec. |
| Eval(Object, String) |
Vyhodnotí výrazy vazby dat za běhu. |
| GetDataItem(Object, Boolean) |
Načte deklarovanou datovou položku objektu, která označuje úspěch nebo selhání. |
| GetDataItem(Object) |
Načte deklarovanou datovou položku objektu. |
| GetHashCode() |
Slouží jako výchozí funkce hash. (Zděděno od Object) |
| GetIndexedPropertyValue(Object, String, String) |
Načte hodnotu zadané vlastnosti pro zadaný kontejner a poté naformátuje výsledky. |
| GetIndexedPropertyValue(Object, String) |
Načte hodnotu vlastnosti zadaného kontejneru a navigační cesty. |
| GetPropertyValue(Object, String, String) |
Načte hodnotu zadané vlastnosti zadaného objektu a poté naformátuje výsledky. |
| GetPropertyValue(Object, String) |
Načte hodnotu zadané vlastnosti zadaného objektu. |
| GetType() |
Získá Type aktuální instance. (Zděděno od Object) |
| IsBindableType(Type) |
Určuje, zda zadaný datový typ může být vázán. |
| MemberwiseClone() |
Vytvoří mělkou kopii aktuálního Object. (Zděděno od Object) |
| ToString() |
Vrátí řetězec, který představuje aktuální objekt. (Zděděno od Object) |