Partilhar via


DataBinder Classe

Definição

Dá suporte a designers do método RAD para gerar e analisar a sintaxe da expressão de associação de dados. Essa classe não pode ser herdada.

public ref class DataBinder sealed
public sealed class DataBinder
type DataBinder = class
Public NotInheritable Class DataBinder
Herança
DataBinder

Exemplos

O exemplo a seguir usa o método estático GetPropertyValue para preencher os campos de um Repeater controle usando um ArrayList de Product objetos . O Eval método poderia ser aplicado com a mesma sintaxe, mas não seria executado tão rapidamente.

Este exemplo usa uma classe personalizada Product que expõe uma propriedade de Model cadeia de caracteres e uma propriedade numérica 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>

O código a seguir é a classe personalizada Product . Esse código deve ser incluído em um arquivo de classe separado no diretório App_Code, como Product.cs ou 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

Comentários

Você pode usar o método estático Eval sobrecarregado dessa classe na sintaxe de associação de dados em uma página da Web ASP.NET. Isso fornece uma sintaxe mais fácil de trabalhar do que a associação de dados padrão. No entanto, como DataBinder.Eval fornece conversão automática de tipo, isso pode resultar em um desempenho mais lento.

Para obter mais informações sobre ASP.NET associação de dados, expressões e sintaxe, consulte Visão geral da associação a bancos de dados e expressões de associação de dados.

A partir do .NET Framework 4.5, você pode usar a model binding para simplificar algumas das tarefas que você precisava executar por meio da associação de dados em versões anteriores. Para obter uma série de tutoriais sobre como usar a model binding com o Web Forms, consulte Model Binding e Web Forms.

Construtores

DataBinder()

Inicializa uma nova instância da classe DataBinder.

Propriedades

EnableCaching

Obtém ou define um valor que indica se o cache de dados está habilitado no tempo de execução.

Métodos

Equals(Object)

Determina se o objeto especificado é igual ao objeto atual.

(Herdado de Object)
Eval(Object, String)

Avalia as expressões de associação de dados em tempo de execução.

Eval(Object, String, String)

Avalia as expressões de associação de dados em tempo de execução e formata o resultado como uma cadeia de caracteres.

GetDataItem(Object)

Recupera o item de dados declarado do objeto.

GetDataItem(Object, Boolean)

Recupera o item de dados declarado de um objeto indicando o êxito ou falha.

GetHashCode()

Serve como a função de hash padrão.

(Herdado de Object)
GetIndexedPropertyValue(Object, String)

Recupera o valor de uma propriedade do caminho de navegação e do contêiner especificados.

GetIndexedPropertyValue(Object, String, String)

Recupera o valor da propriedade especificada para o contêiner especificado e, em seguida, formata os resultados.

GetPropertyValue(Object, String)

Recupera o valor da propriedade especificada do objeto especificado.

GetPropertyValue(Object, String, String)

Recupera o valor da propriedade especificada do objeto especificado e, em seguida, formata os resultados.

GetType()

Obtém o Type da instância atual.

(Herdado de Object)
IsBindableType(Type)

Determina se o tipo de dados especificado pode ser associado.

MemberwiseClone()

Cria uma cópia superficial do Object atual.

(Herdado de Object)
ToString()

Retorna uma cadeia de caracteres que representa o objeto atual.

(Herdado de Object)

Aplica-se a

Confira também