Sdílet prostřednictvím


DataBinder Třída

Definice

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)

Platí pro

Viz také