Export (0) Print
Expand All

DataBinder Class

Provides support for rapid application development (RAD) designers to generate and parse data-binding expression syntax. This class cannot be inherited.

System.Object
  System.Web.UI.DataBinder

Namespace:  System.Web.UI
Assembly:  System.Web (in System.Web.dll)

public sealed class DataBinder

The DataBinder type exposes the following members.

  NameDescription
Public methodDataBinderInfrastructure. Initializes a new instance of the DataBinder class.
Top

  NameDescription
Public propertyStatic memberEnableCachingGets or sets a value that indicates whether data caching is enabled at run time.
Top

  NameDescription
Public methodEquals(Object)Determines whether the specified object is equal to the current object. (Inherited from Object.)
Public methodStatic memberEval(Object, String)Evaluates data-binding expressions at run time.
Public methodStatic memberEval(Object, String, String)Evaluates data-binding expressions at run time and formats the result as a string.
Public methodStatic memberGetDataItem(Object)Retrieves an object's declared data item.
Public methodStatic memberGetDataItem(Object, Boolean)Retrieves an object's declared data item, indicating success or failure.
Public methodGetHashCodeServes as the default hash function. (Inherited from Object.)
Public methodStatic memberGetIndexedPropertyValue(Object, String)Retrieves the value of a property of the specified container and navigation path.
Public methodStatic memberGetIndexedPropertyValue(Object, String, String)Retrieves the value of the specified property for the specified container, and then formats the results.
Public methodStatic memberGetPropertyValue(Object, String)Retrieves the value of the specified property of the specified object.
Public methodStatic memberGetPropertyValue(Object, String, String)Retrieves the value of the specified property of the specified object, and then formats the results.
Public methodGetTypeGets the Type of the current instance. (Inherited from Object.)
Public methodStatic memberIsBindableTypeDetermines whether the specified data type can be bound.
Public methodToStringReturns a string that represents the current object. (Inherited from Object.)
Top

You can use the overloaded static Eval method of this class in data-binding syntax in an ASP.NET Web page. This provides an easier syntax to work with than standard data binding. However, because DataBinder.Eval provides automatic type conversion, it can result in slower performance.

For more information about ASP.NET data binding, expressions, and syntax, see Binding to Databases and Data-Binding Expressions Overview.

Starting in .NET Framework 4.5, you can use model binding to simplify some of the tasks that you had to perform through data-binding in earlier versions. For a tutorial series on using model binding with Web Forms, see Model Binding and Web Forms.

The following example uses the static GetPropertyValue method to populate the fields of a Repeater control using an ArrayList of Product objects. The Eval method could be applied with the same syntax, but it would not perform as quickly.

This example uses a custom Product class which exposes a string Model property and a numeric UnitPrice property.

<%@ 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>

The following code is the custom Product class. This code should be included in a separate class file in the App_Code directory, such as Product.cs or 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;}
        }
    }
}

.NET Framework

Supported in: 4.5.3, 4, 3.5, 3.0, 2.0, 1.1, 1.0

Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (Server Core Role not supported), Windows Server 2008 R2 (Server Core Role supported with SP1 or later; Itanium not supported)

The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.
Show:
© 2014 Microsoft