DataBinder Třída

Definice

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)

Platí pro

Viz také