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 RAD (Rapid Application Development) pro generování a parsování 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í ArrayList objektu Product
. Metodu Eval je možné použít se stejnou syntaxí, ale nebude fungovat tak rychle.
Tento příklad používá vlastní Product
třídu, která zveřejňuje vlastnost řetězce Model
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
Přetíženou statickou Eval metodu této třídy můžete použít v syntaxi vazby dat na webové stránce ASP.NET. To poskytuje jednodušší syntaxi než standardní datovou vazbu. Vzhledem k tomu, že DataBinder.Eval
poskytuje automatický převod typů, může to mít za následek snížení výkonu.
Další informace o ASP.NET datových vazbách, výrazech a syntaxi najdete v tématu Vazby na databáze a Přehled výrazů datových vazeb.
Počínaje rozhraním .NET Framework 4.5 můžete pomocí vazby modelu zjednodušit některé úlohy, které jste museli provést prostřednictvím datové vazby v dřívějších verzích. Sérii kurzů o použití vazby modelu s webovými formuláři najdete v tématu Vazby modelu a Webové formuláře.
Konstruktory
DataBinder() |
Inicializuje novou instanci DataBinder třídy. |
Vlastnosti
EnableCaching |
Získá nebo nastaví hodnotu, která označuje, zda je ukládání dat do mezipaměti povoleno za běhu. |
Metody
Equals(Object) |
Určí, zda se zadaný objekt rovná aktuálnímu objektu. (Zděděno od Object) |
Eval(Object, String) |
Vyhodnocuje výrazy vazby dat za běhu. |
Eval(Object, String, String) |
Vyhodnocuje výrazy datové vazby za běhu a formátuje výsledek jako řetězec. |
GetDataItem(Object) |
Načte deklarovanou datovou položku objektu. |
GetDataItem(Object, Boolean) |
Načte deklarovanou datovou položku objektu, která označuje úspěch nebo selhání. |
GetHashCode() |
Slouží jako výchozí hashovací funkce. (Zděděno od Object) |
GetIndexedPropertyValue(Object, String) |
Načte hodnotu vlastnosti zadaného kontejneru a navigační cesty. |
GetIndexedPropertyValue(Object, String, String) |
Načte hodnotu zadané vlastnosti pro zadaný kontejner a pak naformátuje výsledky. |
GetPropertyValue(Object, String) |
Načte hodnotu zadané vlastnosti zadaného objektu. |
GetPropertyValue(Object, String, String) |
Načte hodnotu zadané vlastnosti zadaného objektu a pak naformátuje výsledky. |
GetType() |
Získá aktuální Type instanci. (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 Objectsouboru . (Zděděno od Object) |
ToString() |
Vrátí řetězec, který představuje aktuální objekt. (Zděděno od Object) |